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.