ActiveX コントロール
ActiveX コントロール テクノロジは、COM、接続可能なオブジェクト、複合ドキュメント、プロパティ ページ、OLE オートメーション、オブジェクトの永続化、およびシステム提供のフォントおよび画像オブジェクトで構成される基盤に置き込まれます。 以下に示すように、これらのコア テクノロジはそれぞれコントロールで役割を果たします。
-
COM
-
コントロールは基本的に、クライアントが他のインターフェイスへのポインターを取得できる IUnknown インターフェイスを公開する COM オブジェクトです。 コントロールは、IClassFactory2 と自己登録を通じてライセンスをサポートできます。 COM、ライセンス、自己登録の詳細については、「コンポーネント オブジェクト モデルの」を参照してください。
-
接続可能なオブジェクトの
-
コントロールは、接続可能なオブジェクトを介して送信インターフェイスをサポートできるため、コントロールはクライアントと通信できます。 たとえば、送信インターフェイスは、クライアントでアクションをトリガーしたり、コントロールの変更をクライアントに通知したり、コントロールが何らかのアクションを実行する前にクライアントにアクセス許可を要求したりできます。 接続可能なオブジェクトの動作の詳細については、「COM の イベントと接続可能オブジェクトの」を参照してください。
-
一様データ転送
-
コントロールは、コンテナーからのヘルプを使用して、コンテナー内でのドラッグ アンド ドロップをサポートできます。 ドラッグ アンド ドロップ 詳細については、「IOleInPlaceObjectWindowless::GetDropTarget」を参照してください。
-
複合ドキュメントの
-
コントロールは、包含クライアントに埋め込むことができるインプレース アクティブ オブジェクトにすることができます。 エンド ユーザーがコントロールをアクティブ化して、コンテナー アプリケーションでアクションを開始します。 インプレース アクティブ化とその他の複合ドキュメント インターフェイスの詳細については、「複合ドキュメントの」を参照してください。
-
プロパティ ページ
-
コントロールは、エンド ユーザーがコントロールのプロパティを表示および変更できるように、プロパティ ページを提供できます。 プロパティ ページの動作の詳細については、「プロパティ ページとプロパティ シートの を する」を参照してください。
-
OLE オートメーションの
-
コントロールは OLE オートメーションを使用してプログラミングを可能にし、クライアントが提供するプログラミング言語を使用してコントロールの機能を活用できます。 OLE オートメーションの詳細については、「OLE オートメーション」セクションを参照してください。
-
永続的ストレージの
-
コントロールは、1 つ以上の永続化インターフェイスを実装して、その状態の永続化をサポートできます。 コントロールの実装者は、最も重要な永続化の種類を決定し、適切な永続化インターフェイスを実装する必要があります。 クライアントは、使用するインターフェイスを決定します。 すべての永続化インターフェイスの詳細については、「コンポーネント オブジェクト モデル の」を参照してください。
-
Font オブジェクトと picture オブジェクト
-
コントロールは、これらのシステム提供のオブジェクトを使用して、クライアント内で自身を視覚的に表現できます。 フォント オブジェクトは、IFontIFontDispなど、いくつかのインターフェイスを実装します。 フォント オブジェクトは、OleCreateFontIndirect使用して作成できます。 図オブジェクトには、IPicture、IPictureDispなど、いくつかのインターフェイスも実装されています。 図オブジェクトは、OleCreatePictureIndirect を使用して作成でき、OleLoadPictureを使用してストリームから読み込むことができます。
これらの機能は任意の OLE オブジェクトで使用できることを理解しておくことが重要です。 これらの機能を使用するためにコントロールを実装する必要はありません。 また、コントロールに必要なインターフェイスは IUnknown のみです。 このコントロールは、必要に応じて、関連する機能をサポートする必要に応じて他のインターフェイスをサポートします。
これらの機能に加えて、次のインターフェイスと関数は、コントロール テクノロジに固有です。IOleControl、IOleControlSite、ISimpleFrameSite、および OleTranslateColorします。 また、コントロールには、コントロールまたはコントロール コンテナーでサポートできるプロパティとメソッドの一連の標準があります。
手記
システム ライブラリ OleAut32.dll には、関数の実装 (OleCreatePropertyFrame、OleCreatePropertyFrameIndirect、OleCreateFontIndirect、OleCreatePictureIndirect、OleLoadPicture、および oleTranslateColor) の実装が含まれています。 さらに、OleAut32.dll には、標準のフォントオブジェクトと画像オブジェクトの実装、コントロールで使用されるすべてのインターフェイスのタイプ ライブラリ、および追加のデータ構造とデータ型が含まれています。
詳細については、次のトピックを参照してください。
- ActiveX コントロール アーキテクチャ
- ActiveX コントロール インターフェイス
- プロパティとメソッドの
- コントロール イベント
- ビジュアル表現 を する
- コントロール のキーボード処理の
- 永続化
- 登録とライセンスの
関連トピック