「Windows API/イベントドリブン方式」の版間の差分
削除された内容 追加された内容
PeekMessage() 関数 |
|||
126 行
というような感じのコードが、最初から作成されています(Visual Studioのバージョンによって多少の差異の可能性あり)。
コード中のGetMessage() 関数を除去氏、おおむね次の
:例
<source lang=c>
MSG msg;
// メイン メッセージ ループ:
while (TRUE) // whileの論理式が変わっている
{
if ( PeekMessage(&msg,NULL,0,0,PM_REMOVE) ) // if文の条件式が変わっている
{
// このブロックはそのままでいい
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else // elseが追加されている
{
// 描画処理など
InvalidateRect(hwnd , NULL , FALSE); // 描画の実行
}
}
return (int)msg.wParam;
</source>
( たとえば<code>PeekMessage(&msg,NULL,0,0,PM_REMOVE)</code>など )、イベントドリブン方式をやめて、メッセージの到着を待たずに処理をしていく、従来的な手続き型になります。
一方、GetMessage() 関数のままの場合なら、メッセージの到着を待って処理をしていく方式になるので、「イベントドリブン方式でループをしていく」と宣言していることになります。
|