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 键。
控件应该有一个 Properties 动词 OLEIVERB_PROPERTIES,以及它们支持的其他动词。 Properties 动词以及标准动词 OLEIVERB_PRIMARY 会指示控件显示其属性表。 当控件处于活动状态时,Properties 动词将显示为容器菜单上的“属性”项。 这样,即使容器不处理控件,控件也可以显示自己的属性页面,从而为最终用户提供一些有用的功能。
控件定义了 MiscStatus 键,以便向潜在容器描述自己。 这些位的值来自 OLEMISC,控件会在此枚举中添加多个值。 有关详细信息,请参阅 OLEMISC 枚举值。 客户端可以通过调用 IOleObject::GetMiscStatus 来获取此信息,而无需先实例化控件。
最后,Version 描述了控件的版本,该版本应与与该控件相关联的类型库的版本相匹配。
此外,在控件的类型信息中,属性控件将一个 coclass 条目标记为描述一个控件。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈