ActiveXコントロールのレジストリ情報
使用されるレジストリエントリとフラグの数があります。 さらに、コントロールは、提供する機能を分類するコンポーネントカテゴリをサポートできます。
コントロールに関連するレジストリキーは、次のツリーでアスタリスクでマークされます。
HKEY_CLASSES_ROOT
CLSID
{control_CLSID}
ProgID = <identifier>
InprocServer32 = <filename>.dll
*DefaultIcon = <filename>.<ext>,resourceID
*ToolboxBitmap32 = <filename>.<ext>,resourceID
*Control
verb
*n = &Properties...
*MiscStatus = 0
TypeLib = {object_typelibID}
*Version = version_number
DefaultIconエントリは、コントロールがアイコンに最小化されたときに表示されるアイコンを識別するために使用されます。 ExtractIcon関数は、からアイコンを取得するために使用されます。DLLまたは。EXEファイルが指定されています。
ToolboxBitmap32エントリは、ツールバーまたはツールボックスボタンの表面に使用する16*15ビットマップのモジュール名とリソース識別子を識別します。 標準のWindowsアイコンサイズは、この目的に使用するには大きすぎます。 このエントリは、コントロールを選択し、デザイン中のフォームに配置するデザインモードを持つコントロールコンテナーを具体的にサポートしています。 たとえば、Visual Basicでは、デザインモード中にVisual Basicツールボックスにコントロールのアイコンが表示されます。
Controlエントリは、オブジェクトをコントロールとしてマークします。 このエントリは、多くの場合、ダイアログボックスに入力するためにコンテナーによって使用されます。 コンテナーは、このサブキーを使用して、コントロールを表示するダイアログボックスにオブジェクトを含めるかどうかを決定します。
Insertableサブキーは、オブジェクトが特別なコントロール機能を持たない埋め込み先の埋め込みオブジェクトとしてのみ機能するかどうかに応じて、コントロールでも使用できます。 Insertableでマークされたオブジェクトは、コンテナーの [オブジェクトの挿入] ダイアログボックスに表示されます。 Insertableエントリは、通常、コントロールが非コントロールコンテナーでテストされていることを意味します。
InsertableサブキーとControlサブキーはどちらも省略可能です。 コントロールを認識しない古いコンテナーで動作するように設計されていない場合、コントロールはInsertableサブキーを省略できます。 コントロールは、特定のコンテナーで動作するように設計されているため、他のコンテナーに挿入したくない場合は、Controlキーを省略できます。
コントロールには、サポートされている他の動詞と共に、プロパティ動詞OLEIVERB_PROPERTIESが必要です。 Properties動詞と標準動詞OLEIVERB_PRIMARYは、プロパティシートを表示するようにコントロールに指示します。 Properties動詞は、コントロールがアクティブなときに、コンテナーのメニューの [プロパティ] 項目として表示されます。 これにより、コントロールは、コンテナーがコントロールを処理しない場合でも、エンドユーザーに便利な機能を提供する独自のプロパティページを表示できます。
コントロールは、潜在的なコンテナーに対して自身を説明するMiscStatusキーを定義します。 ビットはOLEMISCからの値を受け取り、コントロールはこの列挙体にいくつかの値を追加します。 詳細については、OLEMISC列挙値を参照してください。 クライアントは、最初にコントロールをインスタンス化することなくIOleObject::GetMiscStatusを呼び出すことによって、この情報を取得できます。
最後に、Versionこのコントロールに関連付けられているタイプライブラリのバージョンと一致する必要があるコントロールのバージョンについて説明します。
また、コントロールの型情報では、属性コントロールは、コントロールを記述するようにコクラスエントリをマークします。