Właściwości otoczenia dla kontrolek
Jeśli kontrolka w ogóle obsługuje jakiekolwiek właściwości otoczenia, musi przynajmniej uwzględniać wartości następujących właściwości otoczenia w warunkach określonych w poniższej tabeli przy użyciu standardowych dispids.
Właściwość otoczenia | Dispid | Komentarz/warunki do użycia |
---|---|---|
Identyfikator ustawień regionalnych |
-705 |
Jeśli ustawienia regionalne są istotne dla kontrolki, np. w przypadku danych wyjściowych tekstu |
UserMode |
-709 |
Jeśli kontrolka zachowuje się inaczej w trybie użytkownika (projekt) i w trybie uruchamiania |
UIDead |
-710 |
Jeśli kontrolka reaguje na zdarzenia interfejsu użytkownika, powinna ona honorować tę właściwość otoczenia |
ShowGrabHandles |
-711 |
Jeśli kontrolka obsługuje zmianę rozmiaru w miejscu |
Pokażhatching |
-712 |
Jeśli kontrola obsługuje aktywację w miejscu i aktywację interfejsu użytkownika |
DisplayAsDefault |
-713 |
Tylko wtedy, gdy kontrolka jest oznaczona OLEMISC_ACTSLIKEBUTTON (co oznacza, że jest dostępna obsługa mnemonics klawiatury, w związku z tym IOleControl::GetControlInfo i IOleControl::OnMnemonic należy zaimplementować). |
Jak opisano wcześniej, użycie otoczenia wymaga zarówno IOleControl (dla OnAmbientPropertyChange jako minimum), jak również IOleObject (dla SetClientSite i GetClientSite).
Bit OLEMISC_SETCLIENTSITEFIRST może nie być obsługiwany przez kontener. W takich okolicznościach kontrolka musi uciekać się do wartości domyślnych dla właściwości otoczenia, których wymaga.