Clase IOleInPlaceObjectWindowlessImpl
Esta clase implementa y proporciona métodos IUnknown
que permiten a un control sin ventana recibir mensajes de ventana y participar en operaciones de arrastrar y colocar.
Importante
Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.
Sintaxis
template<class T>
class IOleInPlaceObjectWindowlessImpl
Parámetros
T
La clase, que se deriva de IOleInPlaceObjectWindowlessImpl
.
Miembros
Métodos públicos
Nombre | Descripción |
---|---|
IOleInPlaceObjectWindowlessImpl::ContextSensitiveHelp | Habilita la ayuda contextual. La implementación ATL devuelve E_NOTIMPL. |
IOleInPlaceObjectWindowlessImpl::GetDropTarget | Proporciona la interfaz IDropTarget para un objeto activo y sin ventanas en contexto que admite arrastrar y colocar. La implementación ATL devuelve E_NOTIMPL. |
IOleInPlaceObjectWindowlessImpl::GetWindow | Obtiene un identificador de ventana. |
IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate | Desactiva un control activo en contexto. |
IOleInPlaceObjectWindowlessImpl::OnWindowMessage | Envía un mensaje desde el contenedor a un control sin ventanas que está activo en el contexto. |
IOleInPlaceObjectWindowlessImpl::ReactivateAndUndo | Reactiva un control que se ha desactivado antes. La implementación ATL devuelve E_NOTIMPL. |
IOleInPlaceObjectWindowlessImpl::SetObjectRects | Indica qué parte del control en contexto está visible. |
IOleInPlaceObjectWindowlessImpl::UIDeactivate | Desactiva y quita la interfaz de usuario que admite la activación en contexto. |
Comentarios
La interfaz IOleInPlaceObject administra la reactivación y desactivación de controles en contexto y determina qué parte del control debe ser visible. La interfaz IOleInPlaceObjectWindowless permite que un control sin ventana reciba mensajes de ventana y participe en operaciones de arrastrar y colocar. La clase IOleInPlaceObjectWindowlessImpl
proporciona una implementación predeterminada de IOleInPlaceObject
y IOleInPlaceObjectWindowless
e implementa con IUnknown
el envío de información al dispositivo de volcado de memoria en las compilaciones de depuración.
Artículos relacionados Tutorial de ATL, Creación de un proyecto ATL
Jerarquía de herencia
IOleInPlaceObjectWindowless
IOleInPlaceObjectWindowlessImpl
Requisitos
Encabezado: atlctl.h
IOleInPlaceObjectWindowlessImpl::ContextSensitiveHelp
Devuelve E_NOTIMPL.
HRESULT ContextSensitiveHelp(BOOL fEnterMode);
Comentarios
Consulte IOleWindow::ContextSensitiveHelp en Windows SDK.
IOleInPlaceObjectWindowlessImpl::GetDropTarget
Devuelve E_NOTIMPL.
HRESULT GetDropTarget(IDropTarget** ppDropTarget);
Comentarios
Consulte IOleInPlaceObjectWindowless::GetDropTarget en Windows SDK.
IOleInPlaceObjectWindowlessImpl::GetWindow
El contenedor llama a esta función para obtener el identificador de ventana del control.
HRESULT GetWindow(HWND* phwnd);
Comentarios
Algunos contenedores no funcionarán con un control sin ventanas, aunque ahora las tenga. En la implementación de ATL, si el miembro de datos de la clase de control m_bWasOnceWindowless
es TRUE, la función devuelve E_FAIL. De lo contrario, si phwnd no es NULL, GetWindow
establece * phwnd en el miembro de datos de la clase de controlm_hWnd
y devuelve S_OK.
Consulte IOleWindow::GetWindow en Windows SDK.
IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate
Se llama al contenedor para desactivar un control activo en contexto.
HRESULT InPlaceDeactivate(HWND* phwnd);
Comentarios
Este método hace una desactivación completa o parcial dependiendo del estado del control. Si es necesario, se desactiva la interfaz de usuario del control y se destruye la ventana del control, si la hay. Se notifica al contenedor que l control ya no está activo en contexto. Se libera la interfaz IOleInPlaceUIWindow
usada por el contenedor para negociar los menús y el espacio del borde.
Consulte IOleInPlaceObject::InPlaceDeactivate en Windows SDK.
IOleInPlaceObjectWindowlessImpl::OnWindowMessage
Envía un mensaje de un contenedor a un control sin ventanas que está activo en el contexto.
HRESULT OnWindowMessage(
UINT msg,
WPARAM WParam,
LPARAM LParam,
LRESULT plResultParam);
Comentarios
Consulte IOleInPlaceObjectWindowless::OnWindowMessage en Windows SDK.
IOleInPlaceObjectWindowlessImpl::ReactivateAndUndo
Devuelve E_NOTIMPL.
HRESULT ReactivateAndUndo();
Comentarios
Consulte IOleInPlaceObject::ReactivateAndUndo en Windows SDK.
IOleInPlaceObjectWindowlessImpl::SetObjectRects
Se llama al contenedor para informar al control de que su tamaño o posición ha cambiado.
HRESULT SetObjectRects(LPCRECT prcPos, LPCRECT prcClip);
Comentarios
Actualiza el miembro de datos del control m_rcPos
y la pantalla del control. Solo se muestra la parte del control que formar intersección con la región del clip. Si la pantalla de un control se ha recortado anteriormente, pero se ha eliminado el recorte, se puede llamar a esta función para volver a dibujar una vista completa del control.
Consulte IOleInPlaceObject::SetObjectRects en Windows SDK.
IOleInPlaceObjectWindowlessImpl::UIDeactivate
Desactiva y quita la interfaz de usuario del control que admite la activación en contexto.
HRESULT UIDeactivate();
Comentarios
Establece el miembro de datos de la clase de control m_bUIActive
a FALSE. La implementación ATL de esta función siempre devuelve S_OK.
Consulte IOleInPlaceObject::UIDeactivate en Windows SDK.