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