次の方法で共有


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

ActiveX コントロールは、それ自身とコントロール コンテナーの間で通信するためにイベントを発生させます。 コンテナーは、メソッドやプロパティによってコントロールと通信できます。 メソッドまたは関数といいます。

メソッドとプロパティは、オートメーション クライアントと ActiveX コントロール コンテナーなどの他のアプリケーションでの使用にエクスポートされたインターフェイスを提供します。 ActiveX コントロール プロパティ詳細については、記事 MFC ActiveX コントロール: プロパティを参照します。

メソッドは、.クラスのメンバー関数に似た使用中と適切です。 コントロールを実装するメソッドの 2 種類があります。: ストック イベントとカスタム。 ストック イベント、ストック メソッドに似ていますが COleControl 実装を提供するこれらのメソッドです。 ストック メソッドの詳細については、記事 MFC ActiveX コントロール: ストック メソッドの追加を参照します。 開発者が定義するカスタム メソッドはコントロールのカスタマイズができます。 詳細については、記事 MFC ActiveX コントロール: カスタム メソッドの追加を参照します。

Microsoft Foundation Class ライブラリ (MFC) は、コントロールがストック イベントとカスタム メソッドをサポートできるようにする機能を実装します。 最初の部分は、クラス COleControlです。 CWndから派生されて、COleControl のメンバー関数は、すべての ActiveX コントロールに共通のストック メソッドをサポートします。 この機能の 2 番目の部分は、ディスパッチ マップです。 ディスパッチ マップでは、メッセージ マップに似ています; ただし、Windows メッセージ ID への関数を割り当てる代わりに、ディスパッチ マップは、IDispatch IDS に仮想メンバー関数を割り当てます。

さまざまなメソッドを正しくサポートするコントロール クラスはディスパッチ マップを宣言する必要があります。 これは、コントロール クラスのヘッダーに、次のコード行によって実現されます。H) ファイル:

DECLARE_DISPATCH_MAP()

ディスパッチ マップの主な目的は、外部の呼び出し元が使用するメソッド名 (コンテナーなど) にメソッドを実装するコントロール クラスのメンバー関数との関係を確立します。 ディスパッチ マップを宣言した後、コントロールの実装 (.cpp) ファイルで定義されている必要があります。 次のコードは、ディスパッチ マップを定義する:

BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)


...


END_DISPATCH_MAP()

プロジェクトの作成に MFC ActiveX コントロール ウィザード を使用してこれらの行が自動的に追加されます。 MFC ActiveX コントロール ウィザードを使用しないと、次の行を手動で追加する必要があります。

次のトピックでは、メソッドを解説します:

参照

概念

MFC ActiveX コントロール