Presentation is loading. Please wait.

Presentation is loading. Please wait.

2001年11月更新 2章 Windowプログラムの構成 Windowsプログラムおよび       PiasTkプログラムの基本構造.

Similar presentations


Presentation on theme: "2001年11月更新 2章 Windowプログラムの構成 Windowsプログラムおよび       PiasTkプログラムの基本構造."— Presentation transcript:

1 2001年11月更新 2章 Windowプログラムの構成 Windowsプログラムおよび       PiasTkプログラムの基本構造

2 Windowプログラムの基本構造 《 Windowsプログラミング 》 《 従来の手続き型プログラミング 》 イベント駆動型
       イベント駆動型 《 従来の手続き型プログラミング 》 Windows OS viod main( ) { int i; : func1( ); i = func2( ) } いろいろなイベント <メニューが選ばれた> void func1( ) { } イベントの 切り分け void func1( ) { } <タイマーがタイムアウトになった> int func2( ) {  PostMessage(...) } int func2( ) { } int func3( ) { } <ボタンが押された>

3 ※SysDevプログラムの構造について PiasApp PiasSysdev Piasgl.h Piastk.h Piasapp.h
グラフィックライブラリ関数の          プロトタイプ宣言 Piastk.h Piastk関数のプロトタイプ宣言 Piasapp.h PiasSysdev #include イベントハンドラ関数群は 別のファイルにまとめて記述する イベントハンドラ関数群の定義ファイル アプリケーションの定数定義 #include PiasApp InitApplication, InitInstance, Run イベント駆動プログラムの基本的な関数群 いろいろな イベント・メッセージ MainWndProc( ) イベント・メッセージの切り分けと対応する手続きを実行する. 通常,イベントハンドラ関数を呼び出す. 呼び出されるイベントハンドラ 関数群の定義

4 操作イベントの発生とリソースID WM_COMMAND + リソースID 選ばれるとイベントメッセージとしてユーザプログラムに送られる.
IDC_START 選ばれるとイベントメッセージとしてユーザプログラムに送られる. そのとき何が選ばれたかを識別するには,それぞれオブジェクトに名前 (リソースID)を付けておく必要がある

5 タイマーイベントとは タイムアウト毎にGL_TIMER関数(hWnd,wParam)を呼び出し 少し動かした画面を作成し,描画する.
SetTimer(hwnd,1, 100, . ) KillTimer(hWnd,1) TimerID=1 時間の流れ=> タイムアウト間隔=100msec SetTimer(hwnd,2, 200, . ) KillTimer(hWnd,2) TimerID=2 時間の流れ=> タイムアウト間隔=200msec WM-TIMER + TimerID のイベントメッセージがWindowsから送られてくる  タイムアウト毎にGL_TIMER関数(hWnd,wParam)を呼び出し  少し動かした画面を作成し,描画する. =タイムアウトしたTimerID (注1) タイマー毎に処理が異なることに注意。 (注2) Piastkrmの方で, TimerIDが格納されて渡されるwParamの値によって     呼び出すイベントハンドラ関数を切り分けてもよい


Download ppt "2001年11月更新 2章 Windowプログラムの構成 Windowsプログラムおよび       PiasTkプログラムの基本構造."

Similar presentations


Ads by Google