Partilhar via


Classe IOleInPlaceObjectWindowlessImpl

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta classe implementa IUnknown e fornece métodos que permitem a um controlo sem janelas receber mensagens de janela e participar em operações de arrastar e largar.

Importante

Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.

Sintaxe

template<class T>
class IOleInPlaceObjectWindowlessImpl

Parâmetros

T
A sua classe, derivada de IOleInPlaceObjectWindowlessImpl.

Membros

Métodos Públicos

Nome Description
IOleInPlaceObjectSenseWindowImpl::ContextSensitiveHelp Permite ajuda sensível ao contexto. A implementação do ATL devolve E_NOTIMPL.
IOleInPlaceObjectWindowlessImpl::GetDropTarget Fornece a IDropTarget interface para um objeto ativo e sem janelas no local que suporta arrastar e largar. A implementação do ATL devolve E_NOTIMPL.
IOleInPlaceObjectWindowlessImpl::GetWindow Tem uma maçaneta de janela.
IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate Desativa um controlo ativo no local.
IOleInPlaceObjectWindowlessImpl::OnWindowMessage Despacha uma mensagem do contentor para um controlo sem janelas que está ativo no local.
IOleInPlaceObjectWindowLessImpl::ReativarEUndo Reativa um controlo previamente desativado. A implementação do ATL devolve E_NOTIMPL.
IOleInPlaceObjectWindowlessImpl::SetObjectRects Indica que parte do controlo no local é visível.
IOleInPlaceObjectWindowlessImpl::UIDeactivate Desativa e remove a interface de utilizador que suporta ativação no local.

Observações

A interface IOleInPlaceObject gere a reativação e desativação dos controlos no local e determina quanto do controlo deve ser visível. A interface IOleInPlaceObjectWindowless permite um controlo sem janelas para receber mensagens de janela e participar em operações de arrastar e largar. Class IOleInPlaceObjectWindowlessImpl fornece uma implementação padrão de IOleInPlaceObject e IOleInPlaceObjectWindowless e implementa IUnknown enviando informação para o dispositivo de despejo em compilações de depuração.

Artigos RelacionadosTutorial ATL, Criação de um Projeto ATL

Hierarquia de herança

IOleInPlaceObjectWindowless

IOleInPlaceObjectWindowlessImpl

Requerimentos

Cabeçalho: atlctl.h

IOleInPlaceObjectSenseWindowImpl::ContextSensitiveHelp

Devolve E_NOTIMPL.

HRESULT ContextSensitiveHelp(BOOL fEnterMode);

Observações

Veja IOleWindow::ContextSensitiveHelp no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::GetDropTarget

Devolve E_NOTIMPL.

HRESULT GetDropTarget(IDropTarget** ppDropTarget);

Observações

Veja IOleInPlaceObjectWindowless::GetDropTarget no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::GetWindow

O contentor chama esta função para obter a alavanca da janela do controlo.

HRESULT GetWindow(HWND* phwnd);

Observações

Alguns contentores não funcionam com um controlo que tenha sido sem janelas, mesmo que esteja atualmente com janelas. Na implementação do ATL, se o elemento m_bWasOnceWindowless de dados da classe de controlo for TRUE, a função devolve E_FAIL. Caso contrário, se phwnd não for NULL, GetWindow define * phwnd como membro m_hWnd de dados da classe de controlo e devolve S_OK.

Veja IOleWindow::GetWindow no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate

Chamado pelo contentor para desativar um controlo ativo no local.

HRESULT InPlaceDeactivate(HWND* phwnd);

Observações

Este método realiza uma desativação total ou parcial, dependendo do estado do controlo. Se necessário, a interface de utilizador do controlo é desativada e a janela do controlo, se existir, é destruída. O contentor é notificado de que o controlo já não está ativo no local. A IOleInPlaceUIWindow interface usada pelo contentor para negociar menus e espaço de fronteira é libertada.

Veja IOleInPlaceObject::InPlaceDeactivate no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::OnWindowMessage

Despacha uma mensagem de um contentor para um controlo sem janelas que está ativo no local.

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

Observações

Veja IOleInPlaceObjectWindowless::OnWindowMessage no SDK do Windows.

IOleInPlaceObjectWindowLessImpl::ReativarEUndo

Devolve E_NOTIMPL.

HRESULT ReactivateAndUndo();

Observações

Veja IOleInPlaceObject::ReactivateAndUndo no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::SetObjectRects

Chamado pelo contentor para informar o controlo de que o seu tamanho e/ou posição mudou.

HRESULT SetObjectRects(LPCRECT prcPos, LPCRECT prcClip);

Observações

Atualiza o elemento de dados do m_rcPos controlo e o ecrã de controlo. Apenas a parte do controlo que intersecta a região do clipe é exibida. Se o ecrã de um controlo foi previamente clipado mas o clipping foi removido, esta função pode ser chamada para redesenhar uma vista completa do controlo.

Consulte IOleInPlaceObject::SetObjectRects no SDK do Windows.

IOleInPlaceObjectWindowlessImpl::UIDeactivate

Desativa e remove a interface de utilizador do controlo que suporta ativação no local.

HRESULT UIDeactivate();

Observações

Define o membro m_bUIActive de dados da classe de controlo como FALSE. A implementação ATL desta função devolve sempre S_OK.

Veja IOleInPlaceObject::UIDeactivate no SDK do Windows.

Consulte também

Classe CComControl
Visão geral da classe