PowerPoint プレゼンテーション

2001年11月更新
2章 Windowプログラムの構成
Windowsプログラムおよび
PiasTkプログラムの基本構造
Windowプログラムの基本構造
《 Windowsプログラミング 》
《 従来の手続き型プログラミング 》
イベント駆動型
Windows OS
viod main( )
いろいろなイベント
{
void func1(
int i;
<メニューが選ばれた>
{
:
:
イベントの
:
切り分け
func1(
)
}
);
void func1( )
{
<タイマーがタイムアウト
になった>
int func2(
)
{
}
i = func2(
)
PostMessage(...)
:
}
int func2( )
{
}
:
}
int func3(
<ボタンが押された>
{
}
)
※SysDevプログラムの構造について
Piasgl.h
Piastk.h
グラフィックライブラリ関数の
プロトタイプ宣言
Piastk関数のプロトタイプ宣言
Piasapp.h
アプリケーションの定数定義
PiasApp
#include
InitApplication, InitInstance, Run
イベント駆動プログラムの
基本的な関数群
いろいろな
イベント・メッセージ
#include
PiasSysdev
イベントハンドラ関数群の定義ファイル
MainWndProc( )
イベント・メッセージの切り分けと
対応する手続きを実行する.
通常,イベントハンドラ関数を呼び
出す.
イベントハンドラ関数群は
呼び出されるイベントハンドラ
関数群の定義
別のファイルにまとめて記述する
操作イベントの発生とリソースID
イベントメッセージ
IDC_START
WM_COMMAND + リソースID
選ばれるとイベントメッセージとしてユーザプログラムに送られる.
そのとき何が選ばれたかを識別するには,それぞれオブジェクトに名前
(リソースID)を付けておく必要がある
タイマーイベントとは
SetTimer(hwnd,1, 100, . )
KillTimer(hWnd,1)
TimerID=1
時間の流れ=>
タイムアウト間隔=100msec
SetTimer(hwnd,2, 200, . )
TimerID=2
KillTimer(hWnd,2)
時間の流れ=>
タイムアウト間隔=200msec
WM-TIMER + TimerID のイベントメッセージがWindowsから送られてくる
タイムアウト毎にGL_TIMER関数(hWnd,wParam)を呼び出し
少し動かした画面を作成し,描画する.
=タイムアウトしたTimerID
(注1) タイマー毎に処理が異なることに注意。
(注2) Piastkrmの方で, TimerIDが格納されて渡されるwParamの値によって
呼び出すイベントハンドラ関数を切り分けてもよい