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.