Condividi tramite


Metodo IDCompositionDesktopDevice::CreateTargetForHwnd (dcomp.h)

Crea un oggetto di destinazione di composizione associato alla finestra rappresentata dall'handle di finestra specificato.

Sintassi

HRESULT CreateTargetForHwnd(
  [in]  HWND                hwnd,
        BOOL                topmost,
  [out] IDCompositionTarget **target
);

Parametri

[in] hwnd

Finestra a cui deve essere associato l'oggetto di destinazione della composizione. Questo parametro non deve essere NULL.

topmost

TRUE se l'albero visivo deve essere visualizzato sopra gli elementi figlio della finestra specificata dal parametro hwnd; in caso contrario, l'albero visivo viene visualizzato dietro gli elementi figlio.

[out] target

Nuovo oggetto di destinazione della 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

Un albero visivo DirectComposition deve essere associato a una finestra prima di poter visualizzare qualsiasi elemento sullo schermo. La finestra può essere una finestra di primo livello o una finestra figlio. In entrambi i casi, la finestra può essere una finestra a livelli, ma in tutti i casi la finestra deve appartenere al processo chiamante. Se la finestra appartiene a un processo diverso, questo metodo restituisce DCOMPOSITION_ERROR_ACCESS_DENIED.

Quando il contenuto DirectComposition è composto dalla finestra, il contenuto viene sempre composto sopra qualsiasi elemento disegnato direttamente nella finestra tramite il contesto del dispositivo restituito dalla funzione GetDC o dalle chiamate ai metodi DirectX Present. Tuttavia, poiché le regole di ritaglio della finestra si applicano al contenuto DirectComposition, se la finestra ha finestre figlio, tali finestre figlio possono ritagliare l'albero visivo. Il parametro più alto determina se le finestre figlio ritagliano l'albero visivo.

Concettualmente, ogni finestra è costituita da quattro livelli:

  1. Il contenuto disegnato direttamente nell'handle della finestra (si tratta del livello più basso).
  2. Albero visivo DirectComposition facoltativo.
  3. Contenuto di tutte le finestre figlio, se presente.
  4. Un altro albero visivo DirectComposition facoltativo (si tratta del livello superiore).
Tutti e quattro i livelli vengono ritagliati nell'area visibile della finestra.

Al massimo, è possibile creare solo due destinazioni di composizione per ogni finestra del sistema, una superiore e una non superiore. Se una destinazione di composizione è già associata alla finestra specificata al livello specificato, questo metodo ha esito negativo. Quando un oggetto di destinazione di composizione viene distrutto, il livello composto è disponibile per l'uso da parte di un nuovo oggetto di destinazione della composizione.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione dcomp.h

Vedi anche

IDCompositionDesktopDevice

IDCompositionVisual2