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. |
- 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.
- Si un control admite IPersistStream o IPersistStreamInit y puede devolver un valor preciso, debe hacerlo.