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の値によって 呼び出すイベントハンドラ関数を切り分けてもよい
© Copyright 2024 ExpyDoc