トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

MFC イベントハンドリング



目次



記事一覧

キーワード

MFC イベントハンドリング

[VC++][VisualStudio 2008][VisualStudio操作][MFC]



CView、CWndに定義されている「On」で始まる関数「OnKeyDown」などフレームワークから呼び出されるのイベントハンドラは、仮想関数ではない。

フレームワークと関数を結び付けるには、「メッセージマップ」が必要。

 イベントハンドラの実装

ClassWizardとウィザードバーは、Visual C++ .NET 2002 で削除された。以下の手順でイベントハンドラを追加する。

  • 以下のコード生成を自動化

ビュークラスのメンバー関数

CMFC01View.cpp

void CMFC01View::OnLButtonDblClk(UINT nFlags, CPoint point)
{
    // TODO: ここにメッセージ ハンドラ コードを追加するか、既定の処理を呼   
    CView::OnLButtonDblClk(nFlags, point);
}

プロトタイプ宣言

CMFC01View.h

afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  • afx_msg はマーカーであり、何もしない

メッセージマップマクロ

フレームワークと関数のバインド
CMFC01View.cpp

BEGIN_MESSAGE_MAP(CMFC01View, CView)
	ON_WM_LBUTTONDBLCLK()
END_MESSAGE_MAP()

また、ヘッダーファイルに以下のステートメントが必要
CMFC01View.h

DECLARE_MESSAGE_MAP()


MFC01View.lzh(844)




YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.