控件的环境属性

如果控件完全支持任何环境属性,则它至少必须在下表所列条件下使用标准 dispid 遵循以下环境属性的值。

环境属性 Dispid 注释/使用条件
LocaleID
-705
如果区域设置对控件很重要,例如用于文本输出
UserMode
-709
如果控件在用户(设计)模式和运行模式下的行为不同
UIDead
-710
如果控件对 UI 事件做出反应,则应遵循此环境属性
ShowGrabHandles
-711
如果控件支持就地调整自身大小
ShowHatching
-712
如果控件支持就地激活和 UI 激活
DisplayAsDefault
-713
只有当控件被标记为 OLEMISC_ACTSLIKEBUTTON 时(这意味着提供了对键盘助记符的支持,因此必须实现 IOleControl::GetControlInfoIOleControl::OnMnemonic)。

如前所述,使用环境需要 IOleControl(至少用于 OnAmbientPropertyChange)以及 IOleObject(用于 SetClientSiteGetClientSite)。

容器不一定支持 OLEMISC_SETCLIENTSITEFIRST 位。 在这些情况下,控件必须为其所需的环境属性使用默认值。

Controls