- ベストアンサー
コントロールへのイベント定義の仕方
VS2005のVC++で組んでいます。 メンバ変数として定義した CEdit m_edit の OnChange イベントを記述するやりかたを教えていただけますか? m_edit は OnInitialUpdate() で create しています。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
質問の内容から見てMFCのSDIもしくはMDIアプリケーションでView上にエディットボックスを作っていると考えました。とすると、次の手順でいけると思います。 1.ハンドラを宣言する。 XXXView.hに afx_msg void OnEnChange(); などとしてハンドラを宣言する。 2.ハンドラを定義する。 void CXXXView::OnEnChange() { //TODO } としてハンドラ定義する。 3.メッセージマップにエントリを追加する。 BEGIN_MESSAGE_MAP(CXXXView, CYYYView) ・ ・ ON_EN_CHANGE(nnn, &CXXXView::OnEnChange) //この行を追加 END_MESSAGE_MAP() XXXViewはあなたの作成したViewです。nnnは、エディットボックスのIDです。Createしたときの最後のパラメーターがIDになります。
お礼
詳細な説明をありがとうございます。 普段自分でコントロールをCreateすることがなかったので慌ててしまいました。 よく考えると当たり前な手順をふめばよいのだとわかりました。 助かりました。