ここでは、必要最低限の処理をする WndProc の実例を示します。 具体的には WM_DESTROY というメッセージが送られてきたら、 プログラムを終了します。WM_DESTROY は、例えばユーザが Window のフレームの右上にある×印をクリックした場合などで送られて きます。Window System におけるプログラムの終了は PostQuitMessage() を呼び出します。アプリケーションが PostQuitMessage() を呼び出すと、システムはこのプログラムの 終了手続きを受理し、適当な時点で アプリケーションプログラムに WM_QUIT メッセージを送り、 終了手続きを行います。
アプリケーションプログラム側で処理しない Windows Message については 必ず DefWindowProc() を呼び出します。
#define STRICT
#include <windows.h>
LRESULT CALLBACK WndProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
switch( uMsg )
{
case WM_DESTROY:
PostQuitMessage( 0 );
break;
default:
return( DefWindowProc( hwnd, uMsg, wParam, lParam ) );
}
return 0;
}