Compartilhar via


Métodos opcionais em interfaces de controle

Implementar uma interface não significa necessariamente implementar todos os métodos dessa interface para fazer algo mais do que retornar E_NOTIMPL ou S_OK conforme apropriado. A tabela a seguir identifica os métodos das interfaces listadas no tópico O que significa suporte para uma interface que um controle pode implementar dessa maneira. Qualquer método não listado aqui deve ser totalmente implementado se a interface for suportada.

IOleControl Comentários
GetControlInfo, OnMnemonic
Obrigatório para controles com mnemônicos.
IOleControl::OnAmbientPropertyChange
Obrigatório para controles que usam propriedades ambientais.
IOleControl::FreezeEvents
Consulte Congelamento de eventos
IOleObject
SetMoniker
Obrigatório se o controle não estiver marcado com OLEMISC_CANTLINKINSIDE
GetMoniker
Obrigatório se o controle não estiver marcado com OLEMISC_CANTLINKINSIDE
InitFromData
Opcional
GetClipboardData
Opcional
SetExtent
Obrigatório apenas para DVASPECT_CONTENT
GetExtent
Obrigatório apenas para DVASPECT_CONTENT
SetColorScheme
Opcional
DoVerb
Ver nota 1
IOleInPlaceObject
ContextSensitiveHelp
Opcional
ReativarAndDesfazer
Opcional
IOleInPlaceActiveObject
ContextSensitiveHelp
Opcional
IViewObject2
Congelamento
Opcional
Descongelar
Opcional
GetColorSet
Opcional
IPersistStream, IPersistStreamInit, IPersistMemory
GetSizeMax
Confira a observação 2
  1. Um controle com páginas de propriedades deve oferecer suporte a IOleObject::D oVerb para os verbos OLEIVERB_PROPERTIES e OLEIVERB_PRIMARY. Um controle que pode ser ativo deve oferecer suporte a DoVerb para o verbo OLEIVERB_INPLACEACTIVATE. Um controle que pode ser ativo da interface do usuário também deve oferecer suporte a DoVerb para o verbo OLEIVERB_UIACTIVATE.
  2. Se um controle oferece suporte a IPersistStream ou IPersistStreamInit e pode retornar um valor preciso, ele deve fazer isso.

Controles