Opcjonalne metody w interfejsach sterujących
Implementacja interfejsu nie musi oznaczać implementowania wszystkich metod tego interfejsu, aby wykonać coś więcej niż zwracać E_NOTIMPL lub S_OK odpowiednio. W poniższej tabeli przedstawiono metody interfejsów wymienionych w What Support for an Interface Oznacza temat, który kontrolka może zaimplementować w ten sposób. Każda metoda, która nie jest wymieniona w tym miejscu, musi być w pełni zaimplementowana, jeśli interfejs jest obsługiwany.
IOleControl | Komentarze |
---|---|
GetControlInfo, OnMnemonic |
Obowiązkowe dla kontrolek z mnemonics. |
IOleControl::OnAmbientPropertyChange |
Obowiązkowe dla kontrolek korzystających z właściwości otoczenia. |
IOleControl::FreezeEvents |
Zobacz zamrażania zdarzeń |
IOleObject | |
SetMoniker |
Obowiązkowe, jeśli kontrolka nie jest oznaczona OLEMISC_CANTLINKINSIDE |
GetMoniker |
Obowiązkowe, jeśli kontrolka nie jest oznaczona OLEMISC_CANTLINKINSIDE |
InitFromData |
Fakultatywny |
GetClipboardData |
Fakultatywny |
SetExtent |
Obowiązkowe tylko dla DVASPECT_CONTENT |
getExtent |
Obowiązkowe tylko dla DVASPECT_CONTENT |
SetColorScheme |
Fakultatywny |
DoVerb |
Zobacz notatkę 1 |
IOleInPlaceObject | |
ContextSensitiveHelp |
Fakultatywny |
ponowne aktywowanie AndUndo |
Fakultatywny |
IOleInPlaceActiveObject | |
ContextSensitiveHelp |
Fakultatywny |
IViewObject2 | |
blokowanie |
Fakultatywny |
odmrozić |
Fakultatywny |
GetColorSet |
Fakultatywny |
IPersistStream, IPersistStreamInit, IPersistMemory | |
GetSizeMax |
Zobacz notatkę 2 |
- Kontrolka ze stronami właściwości musi obsługiwać IOleObject::D oVerb dla OLEIVERB_PROPERTIES i OLEIVERB_PRIMARY czasowników. Kontrolka, która może być aktywna, musi obsługiwać doverb dla czasownika OLEIVERB_INPLACEACTIVATE. Kontrolka, która może być aktywna w interfejsie użytkownika, musi również obsługiwać doverb dla czasownika OLEIVERB_UIACTIVATE.
- Jeśli kontrolka obsługuje IPersistStream lub IPersistStreamInit i może zwrócić dokładną wartość, należy to zrobić.