RedrawWindow-Funktion (winuser.h)
Die RedrawWindow-Funktion aktualisiert das angegebene Rechteck oder den angegebenen Bereich im Clientbereich eines Fensters.
Syntax
BOOL RedrawWindow(
[in] HWND hWnd,
[in] const RECT *lprcUpdate,
[in] HRGN hrgnUpdate,
[in] UINT flags
);
Parameter
[in] hWnd
Ein Handle für das fenster, das neu gezeichnet werden soll. Wenn dieser Parameter NULL ist, wird das Desktopfenster aktualisiert.
[in] lprcUpdate
Ein Zeiger auf eine RECT-Struktur , die die Koordinaten des Updaterechtecks in Geräteeinheiten enthält. Dieser Parameter wird ignoriert, wenn der hrgnUpdate-Parameter einen Bereich identifiziert.
[in] hrgnUpdate
Ein Handle für den Updatebereich. Wenn sowohl die Parameter hrgnUpdate als auch lprcUpdateNULL sind, wird der gesamte Clientbereich dem Updatebereich hinzugefügt.
[in] flags
Mindestens ein Neuzeichnen von Flags. Dieser Parameter kann verwendet werden, um ein Fenster zu ungültig oder zu überprüfen, die Neulackierung zu steuern und zu steuern, welche Fenster von RedrawWindow betroffen sind.
Die folgenden Flags werden verwendet, um das Fenster für ungültig zu erklären.
Flag (Invalidierung) | BESCHREIBUNG |
---|---|
|
Bewirkt, dass das Fenster eine WM_ERASEBKGND Meldung empfängt, wenn das Fenster neu gezeichnet wird. Das flag RDW_INVALIDATE muss ebenfalls angegeben werden. andernfalls hat RDW_ERASE keine Auswirkungen. |
|
Bewirkt, dass jeder Teil des Nichtclientbereichs des Fensters, der den Updatebereich überschneidet, eine WM_NCPAINT Nachricht empfängt. Das flag RDW_INVALIDATE muss ebenfalls angegeben werden. andernfalls hat RDW_FRAME keine Auswirkungen. Die WM_NCPAINT Nachricht wird während der Ausführung von RedrawWindow in der Regel nicht gesendet, es sei denn, es wird RDW_UPDATENOW oder RDW_ERASENOW angegeben. |
|
Bewirkt, dass eine WM_PAINT Nachricht im Fenster veröffentlicht wird, unabhängig davon, ob ein Teil des Fensters ungültig ist. |
|
Ungültige Werte für lprcUpdate oder hrgnUpdate (nur eines darf nicht NULL sein). Wenn beide NULL sind, wird das gesamte Fenster ungültig. |
Die folgenden Flags werden verwendet, um das Fenster zu überprüfen.
Flag (Validierung) | BESCHREIBUNG |
---|---|
|
Unterdrückt alle ausstehenden WM_ERASEBKGND Nachrichten. |
|
Unterdrückt alle ausstehenden WM_NCPAINT Nachrichten. Dieses Flag muss mit RDW_VALIDATE verwendet werden und wird in der Regel mit RDW_NOCHILDREN verwendet. RDW_NOFRAME sollte mit Sorgfalt verwendet werden, da dies dazu führen kann, dass Teile eines Fensters falsch lackiert werden. |
|
Unterdrückt alle ausstehenden internen WM_PAINT Nachrichten. Dieses Flag wirkt sich nicht auf WM_PAINT Meldungen aus einem Updatebereich ohne NULL aus. |
|
Überprüft lprcUpdate oder hrgnUpdate (nur eines darf nicht NULL sein). Wenn beide NULL sind, wird das gesamte Fenster überprüft. Dieses Flag wirkt sich nicht auf interne WM_PAINT Nachrichten aus. |
Die folgenden Flags steuern, wann neu gezeichnet wird. RedrawWindow wird nur dann neu gezeichnet, wenn eines dieser Flags angegeben ist.
Flag | Beschreibung |
---|---|
|
Bewirkt, dass die betroffenen Fenster (wie durch die RDW_ALLCHILDREN- und RDW_NOCHILDREN-Flags angegeben) WM_NCPAINT - und WM_ERASEBKGND-Meldungen empfangen, falls erforderlich, bevor die Funktion zurückgibt. WM_PAINT Nachrichten werden zur normalen Zeit empfangen. |
|
Bewirkt, dass die betroffenen Fenster (wie durch die flags RDW_ALLCHILDREN und RDW_NOCHILDREN angegeben) WM_NCPAINT, WM_ERASEBKGND und WM_PAINT-Nachrichten empfangen, falls erforderlich, bevor die Funktion zurückgibt. |
Standardmäßig hängen die von RedrawWindow betroffenen Fenster davon ab, ob das angegebene Fenster den WS_CLIPCHILDREN Stil aufweist. Untergeordnete Fenster, die nicht die WS_CLIPCHILDREN Formatvorlage sind, sind nicht betroffen; Nicht-WS_CLIPCHILDREN Fenster werden rekursiv überprüft oder ungültig, bis ein WS_CLIPCHILDREN Fenster gefunden wird. Die folgenden Flags steuern, welche Fenster von der RedrawWindow-Funktion betroffen sind.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.
Hinweise
Wenn RedrawWindow verwendet wird, um einen Teil des Desktopfensters zu ungültig zu machen, empfängt das Desktopfenster keine WM_PAINT Meldung. Um den Desktop neu zu streichen, verwendet eine Anwendung das flag RDW_ERASE, um eine WM_ERASEBKGND Nachricht zu generieren.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winuser.h (windows.h einschließen) |
Bibliothek | User32.lib |
DLL | User32.dll |
APIs | ext-ms-win-ntuser-draw-l1-1-0 (eingeführt in Windows 8) |