Compartir a través de


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.

Consulte también

CComControl (clase)
Información general sobre la clase