次の方法で共有


MFC ActiveX コントロール : イベント

ActiveX コントロールは、コントロールに起こった動作をイベントを使ってコンテナーに通知します。 一般的なイベントの例としては、コントロールのクリック、キーボードを使ったデータ入力、コントロールの状態の変化などがあります。 これらの動作が起こると、コントロールは、イベントを発生させてコンテナーに通知します。

イベントは、メッセージとも呼ばれます。

MFC では、2 種類のイベント サポートしています。株価およびカスタム。 ストック イベントとは、COleControl クラスによって自動的に処理されるイベントです。 ストック イベントの一覧についてを参照してください「MFC ActiveX コントロール:ストック イベントの追加。 カスタム イベントを使うと、コントロールに固有の動作が起こったときにそれをコンテナーに通知できます。 たとえば、コントロールの内部状態の変化や特定のウィンドウ メッセージの受信などを通知できます。

コントロールでイベントを正しく発生させるには、コントロール クラスで、コントロールの各イベントをそのイベントが発生したときに呼び出すメンバー関数に割り当てる必要があります。 この割り当てはイベント マップと言い、この機構によってイベントに関する情報を 1 か所に集めることができるため、Visual Studio ではコントロールのイベントに簡単にアクセスして、操作できます。 イベント マップを宣言するには、コントロール クラス宣言のヘッダー (.H) ファイルにある次のマクロを使います。

DECLARE_EVENT_MAP()

イベント マップを宣言したら、それをコントロールの実装 (.CPP) ファイルで定義する必要があります。 イベント マップを定義して、コントロールで特定のイベントを発生させるコード行を次に示します。

BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)


...


END_EVENT_MAP()

MFC ActiveX コントロール ウィザードを使ってプロジェクトを作成すると、これらのコードが自動的に追加されます。 MFC ActiveX コントロール ウィザードを使わなかった場合は、このコードを直接追加する必要があります。

クラス ビューでは、COleControl クラスでサポートされているストック イベントや自分で定義したカスタム イベントを追加できます。 新しいイベントを追加するたびに、クラス ビューによって、対応するエントリがコントロールのイベント マップと .IDL ファイルに自動的に追加されます。

イベントの詳細については、次の 2 つのトピックを参照してください。

参照

参照

COleControl クラス

概念

MFC ActiveX コントロール

MFC ActiveX コントロール : メソッド