Métodos opcionales en interfaces de control

La implementación de una interfaz no significa necesariamente implementar todos los métodos de esa interfaz para hacer algo más que devolver E_NOTIMPL o S_OK según corresponda. En la tabla siguiente se identifican los métodos de las interfaces enumeradas en el tema What Support for an Interface Means (Qué compatibilidad con una interfaz significa ) que un control puede implementar de esta manera. Cualquier método que no aparezca aquí debe implementarse completamente si se admite la interfaz.

IOleControl Comentarios
GetControlInfo, OnMnemonic
Obligatorio para los controles con mnemonics.
IOleControl::OnAmbientPropertyChange
Obligatorio para los controles que usan propiedades ambientales.
IOleControl::FreezeEvents
Consulte Congelación de eventos.
IOleObject
SetMoniker
Obligatorio si el control no está marcado con OLEMISC_CANTLINKINSIDE
GetMoniker
Obligatorio si el control no está marcado con OLEMISC_CANTLINKINSIDE
InitFromData
Opcionales
GetClipboardData
Opcionales
SetExtent
Obligatorio solo para DVASPECT_CONTENT
GetExtent
Obligatorio solo para DVASPECT_CONTENT
SetColorScheme
Opcionales
DoVerb
Ver nota 1
IOleInPlaceObject
ContextSensitiveHelp
Opcional
ReactivateAndUndo
Opcional
IOleInPlaceActiveObject
ContextSensitiveHelp
Opcional
IViewObject2
Freeze
Opcionales
Descongelar
Opcionales
GetColorSet
Opcionales
IPersistStream, IPersistStreamInit, IPersistMemory
GetSizeMax
Consulte la nota 2.
  1. Un control con páginas de propiedades debe admitir IOleObject::D oVerb para los verbos OLEIVERB_PROPERTIES y OLEIVERB_PRIMARY. Un control que puede estar activo debe admitir DoVerb para el verbo OLEIVERB_INPLACEACTIVATE. Un control que puede ser activo de la interfaz de usuario también debe admitir DoVerb para el verbo OLEIVERB_UIACTIVATE.
  2. Si un control admite IPersistStream o IPersistStreamInit y puede devolver un valor preciso, debe hacerlo.

Controles