控件的環境屬性
如果控件完全支援任何環境屬性,它至少必須遵循下表所說明條件下使用標準 dispids 的下列環境屬性值。
Ambient 屬性 | 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位。 在這些情況下,控件必須求助於它所需的環境屬性的預設值。