WndProc Example

Date: 22-May-2000
(c) Copyright 1997-2000 by H.Fujii

[前へ][次へ]

ここでは、必要最低限の処理をする 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;
}

[前へ][次へ]