控件的环境属性
如果控件完全支持任何环境属性,则它至少必须在下表所列条件下使用标准 dispid 遵循以下环境属性的值。
环境属性 | Dispid | 注释/使用条件 |
---|---|---|
LocaleID |
-705 |
如果区域设置对控件很重要,例如用于文本输出 |
UserMode |
-709 |
如果控件在用户(设计)模式和运行模式下的行为不同 |
UIDead |
-710 |
如果控件对 UI 事件做出反应,则应遵循此环境属性 |
ShowGrabHandles |
-711 |
如果控件支持就地调整自身大小 |
ShowHatching |
-712 |
如果控件支持就地激活和 UI 激活 |
DisplayAsDefault |
-713 |
只有当控件被标记为 OLEMISC_ACTSLIKEBUTTON 时(这意味着提供了对键盘助记符的支持,因此必须实现 IOleControl::GetControlInfo 和 IOleControl::OnMnemonic)。 |
如前所述,使用环境需要 IOleControl(至少用于 OnAmbientPropertyChange)以及 IOleObject(用于 SetClientSite 和 GetClientSite)。
容器不一定支持 OLEMISC_SETCLIENTSITEFIRST 位。 在这些情况下,控件必须为其所需的环境属性使用默认值。