标准属性
OLE 为所有三种类型的属性定义一组标准 DISPID:控件、环境和扩展。 下表列出了控制属性、环境属性和扩展属性的这些标准。
Control 属性 | 类型 | 描述 |
---|---|---|
BackColor、ForeColor、FillColor、BorderColor |
OLE_COLOR |
控件的配色方案 |
BackStyle、FillStyle、BorderStyle、BorderWidth、BorderVisible、DrawStyle、DrawWidth |
短 或 长 |
定义控件的视觉行为的位,例如纯色或透明、边框厚或细、线条样式等。 |
字体 |
IDispatch * |
控件中使用的字体,它是指向标准字体对象的 IDispatch 指针。 有关详细信息,请参阅 标准字体对象。 |
标题、文本 |
BSTR |
包含控件标签(标题)或其文本内容的字符串(文本)。 请注意,标题不一定命名容器中的控件。 请参阅下表中的扩展 Name 属性。 |
启用 |
BOOL |
确定控件是启用或禁用的。 如果禁用,则控件可能灰显。 |
窗 |
HWND |
控件的窗口句柄(如果有)。 |
TabStop |
BOOL |
确定此控件是否为制表位。 |
Ambient 属性 | 类型 | 描述 |
---|---|---|
BackColor、ForeColor |
OLE_COLOR |
提供具有默认背景和前景颜色的控件。 控件的使用是可选的。 |
字体 |
IDispatch * |
指向定义窗体默认字体的标准字体对象的指针。 控件的使用是可选的。 有关详细信息,请参阅 标准字体对象。 |
LocaleID |
LCID |
容器中使用的语言。 建议由控件使用。 |
UserMode |
BOOL |
描述容器是处于设计模式(FALSE)还是运行模式(TRUE),控件应根据需要使用它来更改其可用功能。 |
UIDead |
BOOL |
描述容器是否处于控件应忽略用户输入的模式。 无论 UserMode 如何,这都适用。 容器可能始终在设计模式下将 UIDead 设置为 TRUE,并在运行模式期间达到断点时将其设置为 TRUE。 控件必须注意此属性。 |
MessageReflect |
BOOL |
指定容器是否要接收 Windows 消息,例如WM_CTLCOLOR、WM_DRAWITEM、WM_PARENTNOTIFY等事件。 |
SupportsMnemonics |
BOOL |
描述容器是否处理助记。 控件可以使用此信息执行所需的任何作,例如,它通常用作助记符的下划线字符。 |
ShowGrabHandles、ShowHatching |
BOOL |
描述控件在就地处于活动状态时是否应显示阴影边框或抓取手柄(在阴影边框中)。 控件必须服从这些属性,从而为容器最终控制实际绘制这些用户界面的用户。 控件容器可能想要绘制自己的控件,而不是依赖每个控件,在这种情况下,这些环境将始终 FALSE。 |
DisplayAsDefault |
BOOL |
当按钮控件应使用较粗的默认框架绘制自身时,容器将通过任何网站公开此属性的 TRUE。 |
扩展属性 | 类型 | 描述 |
---|---|---|
名字 |
BSTR |
控件的容器名称。 |
可见 |
BOOL |
控件的可见性。 |
父母 |
IDispatch * |
包含控件的窗体的 dispinterface。 |
默认值,取消 |
BOOL |
指示此控件是默认按钮还是取消按钮。 |
所有这些标准属性都具有负 DISPID 值,指示其标准状态。
请注意,为了避免这些 DISPID 的编程符号中的冲突,所有环境属性都以DISPID_AMBIENT_属性的形式 形式提供,就像在DISPID_AMBIENT_FORECOLOR中一样。 所有其他符号都像往常一样使用DISPID_属性。
某些环境属性以及控件属性涉及颜色。 上表中提到的 OLE_COLOR 类型可以引用标准 COLORREF 类型、调色板的索引、调色板相对索引或与 GetSysColor 函数一起使用的系统颜色索引。 OleTranslateColor 函数将 OLE_COLOR 类型转换为给定调色板的 COLORREF 类型。