次の方法で共有


ActiveX コントロールのアーキテクチャ

ActiveX コントロール テクノロジは、OLE の多くの下位レベルのオブジェクトとインターフェイスの基盤に基づいています。 コントロールで使用できる正確なインターフェイスは、その機能によって異なります。 このセクションでは、コントロールが提供する可能性がある機能について詳しく説明します。

ActiveX コントロールは、アプリケーションでユーザー インターフェイスを作成するための構成要素を提供するために使用されます。 たとえば、コンテナー アプリケーションがクリックされたときに何らかのアクションを開始するボタンは、単純なコントロールです。 これらのユーザー インターフェイスの構成要素の提供には、次の側面が関係します。

  • コントロールをコンテナー クライアント内に埋め込み、クライアント内のユーザー インターフェイス アクティビティをサポートできます。 したがって、コントロールは、コンテナー内に埋め込まれている場合にそれ自体を視覚的に表現する必要があり、その状態 (たとえば、そのプロパティ値とそのコンテナー内での位置) を保存する方法を提供する必要があります。 クライアントは、オブジェクトが埋め込まれたコンテナーをサポートする必要があります。
  • キーボードまたはマウスを使用してコントロールをアクティブ化することで、エンド ユーザーはクライアント アプリケーションで何らかのアクションを開始します。 したがって、コントロールはキーボード アクティビティに応答する必要があり、そのアクティビティをコンテナーに通知し、クライアントでイベントをトリガーできるように、クライアントと通信できる必要があります。
  • また、クライアントは通常、コントロールのプロパティとメソッドによって提供されるアクションをエンド ユーザーが開始できるプログラミング言語も提供します。 したがって、コントロールは自動化と、一部の設計時と実行時の機能のセットもサポートする必要があります。

ユーザー インターフェイスの構成要素を提供する役割の結果、コントロールは通常、示されているように OLE テクノロジを使用して、次の領域の機能をサポートします。

プロパティとメソッド

他の OLE オブジェクトと同様に、コントロールは、プロパティとメソッドを持つ一連の受信インターフェイスを通じて、その機能の多くを提供できます。 コンテナーは追加のアンビエント プロパティを提供でき、集計によるコントロールのプロパティの拡張をサポートできます。 これらの機能は、OLE オートメーション、プロパティ ページ、接続可能オブジェクト、および ActiveX コントロール テクノロジに依存します。

イベント

ActiveX コントロールは、プロパティとメソッドを提供するだけでなく、イベントをクライアントに通知する送信インターフェイスも提供できます。 クライアントは、これらのイベントの処理をサポートする必要があります。 これらの機能では、OLE オートメーションと接続可能なオブジェクトが使用されます。

ビジュアル表現

コントロールは、コンテナー内での配置と表示をサポートできます。 コンテナーはコントロールを配置し、そのサイズを決定します。 これらの機能では、OLE ドラッグ アンド ドロップ テクノロジを含む複合ドキュメント テクノロジが使用されます。

キーボード処理

コントロールはキーボード アクセラレータに応答できるため、エンド ユーザーはコントロールによって実行されるアクションを開始できます。 コンテナーは、そのすべての埋め込みコントロールのキーボード アクティビティを管理します。 これらの機能では、コントロールおよび複合ドキュメント テクノロジが使用されます。

永続化

コントロールは、その状態を保存できます。 クライアントは、埋め込みコントロールの永続化を管理します。 これらの機能では、構造化ストレージとオブジェクト永続化テクノロジが使用されます。

登録とライセンス

通常、コントロールは自己登録をサポートし、インスタンス化されるときに一連のレジストリ エントリを作成します。 承認されていない使用を防ぐために、コントロールのライセンスを付与することもできます。

これらの機能のほとんどは、コントロールとそのクライアント コンテナーの両方を含みます。

ActiveX コントロール