IDCompositionDesktopDevice::CreateSurfaceFromHwnd-Methode (dcomp.h)
Erstellt ein Wrapperobjekt, das die Rasterung eines mehrstufigen Fensters darstellt und einem Visual für die Komposition zugeordnet werden kann.
Syntax
HRESULT CreateSurfaceFromHwnd(
[in] HWND hwnd,
[out] IUnknown **surface
);
Parameter
[in] hwnd
Das Handle des mehrschichtigen Fensters, für das ein Wrapper erstellt werden soll. Ein mehrstufiges Fenster wird erstellt, indem WS_EX_LAYERED beim Erstellen des Fensters mit der CreateWindowEx-Funktion oder durch Festlegen von WS_EX_LAYERED über SetWindowLong nach dem Erstellen des Fensters angegeben wird.
[out] surface
Das neue Kompositionsoberflächenobjekt. Dieser Parameter darf nicht NULL sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben. Eine Liste der Fehlercodes finden Sie unter DirectComposition-Fehlercodes .
Hinweise
Sie können den Surface-Zeiger in Aufrufen der IDCompositionVisual::SetContent-Methode verwenden, um den Inhalt eines oder mehrerer Visuals festzulegen. Nachdem sie den Inhalt festgelegt haben, bilden die Visuals den Inhalt des angegebenen mehrschichtigen Fensters, solange das Fenster überlappend ist. Wenn das Fenster nicht mehr gespeichert ist, wird der Fensterinhalt aus der Ausgabe der Kompositionsstruktur ausgeblendet. Wenn das Fenster später neu überschichtet wird, wird der Fensterinhalt wieder angezeigt, solange er noch einem Visual zugeordnet ist. Wenn die Größe des Fensters geändert wird, werden die betroffenen Visuals neu zusammengesetzt.
Der Inhalt des Fensters wird nicht über die Lebensdauer des Fensters hinaus zwischengespeichert. Das heißt, wenn das Fenster zerstört wird, beenden die betroffenen Visuals das Komponieren des Fensters.
Wenn das Fenster außerhalb des Bildschirms verschoben oder die Größe auf null geändert wird, beendet das System die Zusammenstellung des Inhalts dieser Visuals. Sie sollten die DwmSetWindowAttribute-Funktion mit dem flag DWMWA_CLOAK verwenden, um das mehrschichtige untergeordnete Fenster zu "umschließen", wenn Sie das ursprüngliche Fenster ausblenden müssen, während das System weiterhin den Inhalt der Visuals verfassen kann.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | dcomp.h |