OLE コントロールは、ほかのアプリケーションにインターフェイスを公開できます。 これらのインターフェイスは、コンテナーからそのコントロールにアクセスするときだけ使用できます。 OLE コントロールがほかの OLE オブジェクトの外部インターフェイスにアクセスするときは、コネクション ポイントが確立される必要があります。 このコネクション ポイントは、イベント マップや通知関数などの外部ディスパッチ マップへのアクセスなど、コントロールから外部に向かってのアクセスを可能にします。
Microsoft Foundation Class ライブラリには、コネクション ポイントをサポートするプログラミング モデルが用意されています。 このモデルでは、OLE コントロール用のインターフェイスやコネクション ポイントを指定するために "コネクション マップ" を使用します。 コネクション マップには、コネクション ポイントごとに 1 つのマクロがあります。 コネクション マップの詳細については、CConnectionPoint クラスの説明を参照してください。
通常、コントロールは 2 つのコネクション ポイントをサポートします。1 つのイベントやプロパティの通知の 1 つ。 これらは COleControl 基本クラスによって実装されます。コントロールの記述者が追加作業する必要はありません。 クラスに追加のコネクション ポイントを実装するときは、手作業で追加する必要があります。 コネクション マップとコネクション ポイントをサポートするため、MFC には次のマクロが用意されています。
コネクション マップの宣言と境界設定
追加のコネクション ポイントを実装する埋め込みクラスを宣言します。クラスの宣言の中で使用する必要があります。 |
|
コネクション ポイントの宣言を終了します。クラスの宣言の中で使用する必要があります。 |
|
コントロールのコネクション ポイントのインターフェイス ID を指定します。 |
|
コネクション マップがクラスで使用されることを宣言します。クラスの宣言の中で使用する必要があります。 |
|
コネクション マップの定義を開始します。クラスの実装の中で使用する必要があります。 |
|
コネクション マップの定義を終了します。クラスの実装の中で使用する必要があります。 |
|
コントロールのコネクション マップでコネクション ポイントを指定します。 |
コネクション ポイントを使用して接続の確立および切断のシンクを補助する関数を次に示します。
コネクション ポイントの初期化および終了
ソースとシンクとの間の接続を確立します。 |
|
ソースとシンクとの間の接続を切断します。 |