使用されるレジストリ エントリとフラグは多数あります。 さらに、コントロールはコンポーネント カテゴリをサポートして、提供される機能を分類できます。
コントロールに関連するレジストリ キーは、次のツリーでアスタリスクでマークされます。
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 と Control サブキーはどちらも省略可能です。 コントロールがコントロールを理解していない古いコンテナーで動作するように設計されていない場合、コントロールは Insertable サブキーを省略できます。 コントロールは、特定のコンテナーでのみ動作するように設計されているため、他のコンテナーに挿入したくない場合は、Control キーを省略できます。
コントロールには、サポートされている他の動詞と共に、 PropertiesverbOLEIVERB_PROPERTIESが必要です。 Properties verbと標準verb OLEIVERB_PRIMARYは、プロパティ シートを表示するようにコントロールに指示します。 コントロールがアクティブな場合、 Propertiesverb はコンテナーのメニューに Properties 項目として表示されます。 これにより、コンテナーがコントロールを処理しない場合でも、コントロールは独自のプロパティ ページを表示して、エンド ユーザーに便利な機能を提供できます。
コントロールは、MiscStatus キーを定義して、潜在的なコンテナーに対して自身を記述します。 ビットは OLEMISC値を受け取り、コントロールはこの列挙体にいくつかの値を追加します。 詳細については、OLEMISC 列挙値を参照してください。 クライアントは、IOleObject::GetMiscStatus を呼び出すことによって、この情報を取得できます。最初にコントロールをインスタンス化する必要はありません。
最後に、バージョン では、このコントロールに関連付けられているタイプ ライブラリのバージョンと一致するコントロールのバージョンについて説明します。
また、コントロールの型情報でも、属性コントロールは、コクラス エントリをコントロールの説明としてマークします。