Partilhar 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 Observações
GetControlInfo, OnMnemonic
Obrigatório para controles com mnemônicos.
IOleControl::OnAmbientPropertyChange
Obrigatório para controlos que utilizem propriedades ambientais.
IOleControl::FreezeEvents
Consulte de congelamento de eventos
IOleObject
SetMoniker
Obrigatório se o controlo não estiver marcado com OLEMISC_CANTLINKINSIDE
GetMoniker
Obrigatório se o controlo 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
ReactivateAndUndo
Opcional
IOleInPlaceActiveObject
ContextSensitiveHelp
Opcional
IViewObject2
Congelar
Opcional
Descongelar
Opcional
GetColorSet
Opcional
IPersistStream, IPersistStreamInit, IPersistMemory
GetSizeMax
Ver nota 2
  1. Um controle com páginas de propriedades deve suportar IOleObject::D oVerb para os verbos OLEIVERB_PROPERTIES e OLEIVERB_PRIMARY. Um controle que pode ser ativo deve suportar DoVerb para o verbo OLEIVERB_INPLACEACTIVATE. Um controle que pode ser UI ative também deve suportar DoVerb para o verbo OLEIVERB_UIACTIVATE.
  2. Se um controle suporta IPersistStream ou IPersistStreamInit e pode retornar um valor preciso, então ele deve fazê-lo.

Controles