Condividi tramite


Classe IOleInPlaceObjectWindowlessImpl

Questa classe implementa IUnknown e fornisce metodi che consentono a un controllo senza finestra di ricevere messaggi di finestra e di partecipare a operazioni di trascinamento della selezione.

Importante

Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.

Sintassi

template<class T>
class IOleInPlaceObjectWindowlessImpl

Parametri

T
Classe derivata da IOleInPlaceObjectWindowlessImpl.

Membri

Metodi pubblici

Nome Descrizione
IOleInPlaceObjectWindowlessImpl::ContextSensitiveHelp Abilita la Guida sensibile al contesto. L'implementazione ATL restituisce E_NOTIMPL.
IOleInPlaceObjectWindowlessImpl::GetDropTarget Fornisce l'interfaccia IDropTarget per un oggetto attivo sul posto che supporta il trascinamento della selezione. L'implementazione ATL restituisce E_NOTIMPL.
IOleInPlaceObjectWindowlessImpl::GetWindow Ottiene un handle di finestra.
IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate Disattiva un controllo sul posto attivo.
IOleInPlaceObjectWindowlessImpl::OnWindowMessage Invia un messaggio dal contenitore a un controllo senza finestra attivo sul posto.
IOleInPlaceObjectWindowlessImpl::ReactivateAndUndo Riattiva un controllo disattivato in precedenza. L'implementazione ATL restituisce E_NOTIMPL.
IOleInPlaceObjectWindowlessImpl::SetObjectRects Indica quale parte del controllo sul posto è visibile.
IOleInPlaceObjectWindowlessImpl::UIDeactivate Disattiva e rimuove l'interfaccia utente che supporta l'attivazione sul posto.

Osservazioni:

L'interfaccia IOleInPlaceObject gestisce la riattivazione e la disattivazione dei controlli sul posto e determina la quantità di controllo che deve essere visibile. L'interfaccia IOleInPlaceObjectWindowless consente a un controllo senza finestra di ricevere messaggi di finestra e di partecipare a operazioni di trascinamento della selezione. La classe IOleInPlaceObjectWindowlessImpl fornisce un'implementazione predefinita di IOleInPlaceObject e IOleInPlaceObjectWindowless implementa inviando informazioni al dispositivo di dump nelle compilazioni IUnknown di debug.

Esercitazione su ATL per articoli correlati, creazione di un progetto ATL

Gerarchia di ereditarietà

IOleInPlaceObjectWindowless

IOleInPlaceObjectWindowlessImpl

Requisiti

Intestazione: atlctl.h

IOleInPlaceObjectWindowlessImpl::ContextSensitiveHelp

Restituisce E_NOTIMPL.

HRESULT ContextSensitiveHelp(BOOL fEnterMode);

Osservazioni:

Vedere IOleWindow::ContextSensitiveHelp in Windows SDK.

IOleInPlaceObjectWindowlessImpl::GetDropTarget

Restituisce E_NOTIMPL.

HRESULT GetDropTarget(IDropTarget** ppDropTarget);

Osservazioni:

Vedi IOleInPlaceObjectWindowless::GetDropTarget in Windows SDK.

IOleInPlaceObjectWindowlessImpl::GetWindow

Il contenitore chiama questa funzione per ottenere l'handle della finestra del controllo.

HRESULT GetWindow(HWND* phwnd);

Osservazioni:

Alcuni contenitori non funzioneranno con un controllo senza finestra, anche se è attualmente visualizzato. Nell'implementazione di ATL, se il membro m_bWasOnceWindowless dati della classe di controllo è TRUE, la funzione restituisce E_FAIL. In caso contrario, se phwnd non è NULL, GetWindow imposta * phwnd sul membro m_hWnd dati della classe di controllo e restituisce S_OK.

Vedere IOleWindow::GetWindow in Windows SDK.

IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate

Chiamato dal contenitore per disattivare un controllo attivo sul posto.

HRESULT InPlaceDeactivate(HWND* phwnd);

Osservazioni:

Questo metodo esegue una disattivazione completa o parziale a seconda dello stato del controllo. Se necessario, l'interfaccia utente del controllo viene disattivata e la finestra del controllo, se presente, viene eliminata definitivamente. Il contenitore riceve una notifica che indica che il controllo non è più attivo. Viene rilasciata l'interfaccia IOleInPlaceUIWindow utilizzata dal contenitore per negoziare i menu e lo spazio del bordo.

Vedi IOleInPlaceObject::InPlaceDeactivate in Windows SDK.

IOleInPlaceObjectWindowlessImpl::OnWindowMessage

Invia un messaggio da un contenitore a un controllo senza finestra attivo sul posto.

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

Osservazioni:

Vedi IOleInPlaceObjectWindowless::OnWindowMessage in Windows SDK.

IOleInPlaceObjectWindowlessImpl::ReactivateAndUndo

Restituisce E_NOTIMPL.

HRESULT ReactivateAndUndo();

Osservazioni:

Vedi IOleInPlaceObject::ReactivateAndUndo in Windows SDK.

IOleInPlaceObjectWindowlessImpl::SetObjectRects

Chiamato dal contenitore per informare il controllo che le dimensioni e/o la posizione sono state modificate.

HRESULT SetObjectRects(LPCRECT prcPos, LPCRECT prcClip);

Osservazioni:

Aggiorna il membro dati del m_rcPos controllo e la visualizzazione del controllo. Viene visualizzata solo la parte del controllo che interseca l'area di ritaglio. Se la visualizzazione di un controllo è stata ritagliata in precedenza ma il ritaglio è stato rimosso, questa funzione può essere chiamata per ridisegnare una visualizzazione completa del controllo.

Vedere IOleInPlaceObject::SetObjectRects in Windows SDK.

IOleInPlaceObjectWindowlessImpl::UIDeactivate

Disattiva e rimuove l'interfaccia utente del controllo che supporta l'attivazione sul posto.

HRESULT UIDeactivate();

Osservazioni:

Imposta il membro m_bUIActive dati della classe di controllo su FALSE. L'implementazione ATL di questa funzione restituisce sempre S_OK.

Vedi IOleInPlaceObject::UIDeactivate in Windows SDK.

Vedi anche

Classe CComControl
Cenni preliminari sulla classe