Visual C++ .NETでのイベントメッセージルーチンの作成方法は以下の通りです。
DefWindowProcを使用する方法
Visual C++の機能としてイベントメッセージルーチンを使用する方法です。
DefWindowProcを使用する場合、アプリケーションに関する全てのイベントが発生するたびにイベントメッセージルーチンが呼ばれます。
イベントメッセージルーチンの作成
[クラスビュー]で、イベントメッセージルーチンを追加するクラスにマウスを合わせ、右クリックします。
[追加(D)]-[関数の追加(U)]を選択します。[メンバ関数の追加ウィザード]ダイアログが表示されます。
以下の手順で関数を作成してください。
[戻り値の型(Y)] |
LRESULT |
[関数名(U)] |
DefWindowProc |
[パラメータの一覧(T)] |
UINT |
[パラメータ名(N)] |
message |
[追加(A)] |
クリック |
[パラメータの一覧(T)] |
WPARAM |
[パラメータ名(N)] |
wParam |
[追加(A)] |
クリック |
[パラメータの一覧(T)] |
LPARAM |
[パラメータ名(N)] |
lParam |
[追加(A)] |
クリック |
[アクセス(E)] |
protected |
[Virtual] |
ラジオボタンクリック |
[関数の署名]が以下のようになっていることを確認し、[完了]ボタンをクリックします。
virtual LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam);
ウィンドウハンドルの指定
イベントを使用するためには、アプリケーションのウィンドウハンドルをドライバーに設定する必要があります。
イベントの設定には以下の関数を使用します。
インターバルタイマ |
TimStartTimer |
これらのイベント設定関数で、パラメータhWndにウィンドウハンドルを指定します。
Visual C++ .NET2002MFCクラス内のメンバ変数m_hWndがウィンドウハンドルを所持していますので、このメンバ変数をそのまま指定してください。
Ret = TimStartTimer(TimerId, 10000, m_hWnd); |