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 種類のそのほかのトピックはイベントを解説します: