MFC ActiveX コントロール : イベント
ActiveX コントロールは何かがコントロールになったコンテナーに通知するためにイベントを使用します。イベントの一般的な例は、コントロール クリックし、キーボードを使用して入力されたデータはコントロールの状態の変更が含まれています。これらの操作が発生すると、コントロールがコンテナーに通知イベントを発生させます。
イベントは、メッセージと呼ばれます。
MFC は 2 種類のイベントをサポートします: ストックとカスタム。ストック イベントは COleControl ハンドルを自動的に分類するイベントです。ストック イベントの完全な一覧については、技術情報 MFC ActiveX コントロール: ストック イベントの追加を参照してください。カスタム イベントは、そのコントロールへの操作の仕様が発生したときにコントロールのコンテナーに通知機能を提供します。たとえば、特定のウィンドウ メッセージのコントロールまたは受信の内部状態の変更です。
イベントを適切に発生させるコントロールのコントロール クラスでを呼び出す必要があるメンバー関数に関連するイベントが発生したときにコントロールの各イベントをマップする必要があります。このマッピングの機能 (イベント マップ)簡単にコントロールのイベントにアクセスし、処理するイベントと割り当ての Visual Studio に関する情報を中心にします。このイベント マップはヘッダーにある次のマクロで宣言します。H)コントロール クラス宣言のファイル:
DECLARE_EVENT_MAP()
イベント マップを宣言すると、コントロールの実装 (.cpp)ファイルで定義する必要があります。次のコードは、イベント マップを定義し、特定のイベントを発生させるようにコントロールが:
BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)
...
END_EVENT_MAP()
プロジェクトを作成するために MFC ActiveX コントロール ウィザードを使用すると、自動的に次の行を追加します。MFC ActiveX コントロール ウィザードを使用しない場合は、これらの行を手動で追加します。
クラス ビューを使用すると、定義したカスタム イベントまたはクラス COleControl でサポートされるストック イベントを追加できます。新しい各イベントでは、クラス ビューでは、コントロールのイベント マップとコントロールの .IDL ファイルに自動的に適切なエントリを追加します。
2 種類の方法については、イベントの詳細について説明します: