Metodo IDCompositionDesktopDevice::CreateSurfaceFromHwnd (dcomp.h)
Crea un oggetto wrapper che rappresenta la rasterizzazione di una finestra a più livelli e che può essere associato a un oggetto visivo per la composizione.
Sintassi
HRESULT CreateSurfaceFromHwnd(
[in] HWND hwnd,
[out] IUnknown **surface
);
Parametri
[in] hwnd
Handle della finestra a più livelli per la quale creare un wrapper. Viene creata una finestra a più livelli specificando WS_EX_LAYERED durante la creazione della finestra con la funzione CreateWindowEx o impostando WS_EX_LAYERED tramite SetWindowLong dopo la creazione della finestra.
[out] surface
Nuovo oggetto superficie di composizione. Questo parametro non deve essere NULL.
Valore restituito
Se la funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT . Per un elenco di codici di errore, vedere Codici di errore directComposition .
Commenti
È possibile usare il puntatore di superficie nelle chiamate al metodo IDCompositionVisual::SetContent per impostare il contenuto di uno o più oggetti visivi. Dopo aver impostato il contenuto, gli oggetti visivi compongono il contenuto della finestra a più livelli specificata, purché la finestra venga sovrapposta. Se la finestra non è stata rilevata, il contenuto della finestra scompare dall'output dell'albero di composizione. Se la finestra viene ricompiata in un secondo momento, il contenuto della finestra viene nuovamente visualizzato purché sia ancora associato a un oggetto visivo. Se la finestra viene ridimensionata, gli oggetti visivi interessati vengono ricomposti.
Il contenuto della finestra non viene memorizzato nella cache oltre la durata della finestra. Ovvero, se la finestra viene eliminata definitivamente, gli oggetti visivi interessati interrompono la composizione della finestra.
Se la finestra viene spostata fuori schermo o ridimensionata a zero, il sistema smette di comporre il contenuto di tali oggetti visivi. È consigliabile usare la funzione DwmSetWindowAttribute con il flag DWMWA_CLOAK per "mascherare" la finestra figlio a più livelli quando è necessario nascondere la finestra originale, consentendo al sistema di continuare a comporre il contenuto degli oggetti visivi.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | dcomp.h |