• ベストアンサー

コントロールへのイベント定義の仕方

VS2005のVC++で組んでいます。 メンバ変数として定義した CEdit m_edit の OnChange イベントを記述するやりかたを教えていただけますか? m_edit は OnInitialUpdate() で create しています。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • passepied
  • ベストアンサー率50% (18/36)
回答No.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になります。

Takami_you
質問者

お礼

詳細な説明をありがとうございます。 普段自分でコントロールをCreateすることがなかったので慌ててしまいました。 よく考えると当たり前な手順をふめばよいのだとわかりました。 助かりました。

関連するQ&A