Compartilhar via


Classe IOleInPlaceObjectWindowlessImpl

Essa classe implementa IUnknown e fornece métodos que permitem que um controle sem janelas receba mensagens de janela e participe de operações de do tipo "arrastar e soltar".

Importante

Essa classe e os respectivos membros não podem ser usados em aplicativos executados no Windows Runtime.

Sintaxe

template<class T>
class IOleInPlaceObjectWindowlessImpl

Parâmetros

T
Sua classe, derivada de IOleInPlaceObjectWindowlessImpl.

Membros

Métodos públicos

Nome Descrição
IOleInPlaceObjectWindowlessImpl::ContextSensitiveHelp Habilita a ajuda contextual. A implementação da ATL retorna E_NOTIMPL.
IOleInPlaceObjectWindowlessImpl::GetDropTarget Fornece a interface IDropTarget para um objeto ativo e sem janelas no local compatível com arrastar e soltar. A implementação da ATL retorna E_NOTIMPL.
IOleInPlaceObjectWindowlessImpl::GetWindow Obtém um identificador de janela.
IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate Desativa um controle in-loco ativo.
IOleInPlaceObjectWindowlessImpl::OnWindowMessage Envia uma mensagem do contêiner para um controle sem janelas que está ativo no local.
IOleInPlaceObjectWindowlessImpl::ReactivateAndUndo Reativa um controle desativado anteriormente. A implementação da ATL retorna E_NOTIMPL.
IOleInPlaceObjectWindowlessImpl::SetObjectRects Indica qual parte do controle in-loco é visível.
IOleInPlaceObjectWindowlessImpl::UIDeactivate Desativa e remove a interface do usuário compatível com ativação in-loco.

Comentários

A interface IOleInPlaceObject gerencia a reativação e a desativação de controles in-loco e determina quanto do controle deve estar visível. A interface IOleInPlaceObjectWindowless permite que um controle sem janelas receba mensagens de janela e participe de operações de arrastar e soltar. A classe IOleInPlaceObjectWindowlessImpl fornece uma implementação padrão de IOleInPlaceObject e IOleInPlaceObjectWindowless e implementa IUnknown enviando informações para o dispositivo de despejo em builds de depuração.

Artigos relacionados Tutorial da ATL, criando um projeto da ATL

Hierarquia de herança

IOleInPlaceObjectWindowless

IOleInPlaceObjectWindowlessImpl

Requisitos

Cabeçalho: atlctl.h

IOleInPlaceObjectWindowlessImpl::ContextSensitiveHelp

Retorna E_NOTIMPL.

HRESULT ContextSensitiveHelp(BOOL fEnterMode);

Comentários

Confira IOleWindow::ContextSensitiveHelp no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::GetDropTarget

Retorna E_NOTIMPL.

HRESULT GetDropTarget(IDropTarget** ppDropTarget);

Comentários

Confira IOleInPlaceObjectWindowless::GetDropTarget no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::GetWindow

O contêiner chama essa função para obter o identificador de janela do controle.

HRESULT GetWindow(HWND* phwnd);

Comentários

Alguns contêineres não funcionarão com um controle que já foi sem janelas, mesmo que esteja em janela no momento. Na implementação da ATL, se o membro de dados m_bWasOnceWindowless da classe de controle for TRUE, a função retornará E_FAIL. Caso contrário, se * phwnd não for NULL, GetWindow definirá * phwnd como membro de dados m_hWnd da classe de controle e retornará S_OK.

Confira IOleWindow::GetWindow no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate

Chamado pelo contêiner para desativar um controle ativo in-loco.

HRESULT InPlaceDeactivate(HWND* phwnd);

Comentários

Esse método executa uma desativação total ou parcial, dependendo do estado do controle. Se necessário, a interface do usuário do controle será desativada e a janela do controle, se houver, será destruída. O contêiner é notificado de que o controle não está mais ativo no local. A interface IOleInPlaceUIWindow usada pelo contêiner para negociar menus e espaço na borda é liberada.

Confira IOleInPlaceObject::InPlaceDeactivate no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::OnWindowMessage

Envia uma mensagem de um contêiner para um controle sem janelas que está ativo no local.

HRESULT OnWindowMessage(
    UINT msg,
    WPARAM WParam,
    LPARAM LParam,
    LRESULT plResultParam);

Comentários

Confira IOleInPlaceObjectWindowless::OnWindowMessage no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::ReactivateAndUndo

Retorna E_NOTIMPL.

HRESULT ReactivateAndUndo();

Comentários

Confira IOleInPlaceObject::ReactivateAndUndo no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::SetObjectRects

Chamado pelo contêiner para informar ao controle que seu tamanho e/ou posição foi alterado.

HRESULT SetObjectRects(LPCRECT prcPos, LPCRECT prcClip);

Comentários

Atualiza o membro de dados m_rcPos e a exibição do controle. Somente a parte do controle que intersecciona a região de recorte é exibida. Se a exibição de um controle tiver sido recortada anteriormente, mas o recorte tiver sido removido, essa função poderá ser chamada para redesenhar uma exibição completa do controle.

Confira IOleInPlaceObject::SetObjectRects no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::UIDeactivate

Desativa e remove a interface do usuário do controle compatível com ativação in-loco.

HRESULT UIDeactivate();

Comentários

Define o membro de dados m_bUIActive da classe de controle como FALSE. A implementação da ATL dessa função sempre retorna S_OK.

Confira IOleInPlaceObject::UIDeactivate no SDK do Windows.

Confira também

Classe CComControl
Visão geral da aula