CWnd::RedrawWindow
Aktualisiert das angegebene Rechteck oder den Bereich im angegebenen Clientbereich des Fensters.
BOOL RedrawWindow(
LPCRECT lpRectUpdate = NULL,
CRgn* prgnUpdate = NULL,
UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE
);
Parameter
lpRectUpdate
Zeigt auf RECT-Struktur das enthaltende der Koordinaten des Updaterechtecks. Dieser Parameter wird ignoriert, wenn prgnUpdate ein gültiges Bereichshandle enthält.prgnUpdate
Identifiziert den UpdatePanel. Wenn prgnUpdate und lpRectUpdateNULL sind, wird der gesamte Clientbereich zum UpdatePanel hinzugefügt.flags
Die folgenden Flags werden verwendet, um das Fenster ungültig zu machen:RDW_ERASE wird das Fenster, WM_ERASEBKGND eine Nachricht empfangen, wenn das Fenster neu gestrichelt ist. Das RDW_INVALIDATE-Flag muss ebenfalls angegeben werden; andernfalls hat RDW_ERASE keine Auswirkungen.
RDW_FRAME verursacht einen Teil des Nicht-Clientbereichs des Fensters, das den UpdatePanel schneidet, um eine WM_NCPAINT Nachricht empfangen. Das RDW_INVALIDATE-Flag muss ebenfalls angegeben werden; andernfalls hat RDW_FRAME keine Auswirkungen.
RDW_INTERNALPAINT wird eine WM_PAINT Meldung, die Fenster unabhängig davon gesendet werden, ob das Fenster einen ungültigen Bereich enthält.
RDW_INVALIDATE ausführen lpRectUpdate oder prgnUpdate ungültig (nur Sie potenziell ist nicht NULL). Wenn beide NULL sind, wird das gesamte Fenster ungültig.
Die folgenden Flags werden verwendet, um das Fenster zu überprüfen:
RDW_NOERASE unterdrückt alle ausstehenden WM_ERASEBKGND Meldungen.
RDW_NOFRAME unterdrückt alle ausstehenden WM_NCPAINT Meldungen. Dieses Flag muss mit RDW_VALIDATE verwendet werden und wird in der Regel mit RDW_NOCHILDREN verwendet. Diese Option sollte mit Bedacht eingesetzt werden, da sie Teile eines Fensters ordnungsgemäß zeichnen verhindern kann.
RDW_NOINTERNALPAINT unterdrückt alle anstehenden internen WM_PAINT Meldungen. Dieses Flag nicht beeinflusst WM_PAINT Meldungen, von den ungültigen Bereichen verfügbar.
RDW_VALIDATE überprüft lpRectUpdate oder prgnUpdate (nur Sie potenziell ist nicht NULL). Wenn beide NULL sind, wird das gesamte Fenster überprüft. Dieses Flag nicht beeinflusst WM_PAINT interne Meldungen.
Die folgenden Flags steuern, wann das neu zu auftritt. Zeichnen wird nicht von der RedrawWindow-Funktion ausgeführt, es sei denn, eines dieser Bits angegeben wird.
RDW_ERASENOW wird die betroffenen Fenster (wie durch die RDW_ALLCHILDREN und RDW_NOCHILDREN-Flags angegeben) WM_NCPAINT und ggf. WM_ERASEBKGND Meldungen empfangen, bevor die Funktion zurückgibt. WM_PAINT Meldungen werden verzögert.
RDW_UPDATENOW wird die betroffenen Fenster (wie durch die RDW_ALLCHILDREN und RDW_NOCHILDREN-Flags angegeben) WM_NCPAINT, WM_ERASEBKGND und WM_PAINT Meldungen, vor den Funktionsrückgaben ggf. zu empfangen.
Standardmäßig sind die Fenster, die von der Funktion RedrawWindow betroffen sind, davon ab, ob das angegebene Fenster das WS_CLIPCHILDREN Format hat. Die untergeordneten Fenster von WS_CLIPCHILDREN Fenstern werden nicht beeinflusst. Sie werden diese Fenster, die nicht WS_CLIPCHILDREN Fenster sind, rekursiv überprüft oder ungültig, bis ein WS_CLIPCHILDREN Fenster aufgetreten ist. Im folgenden Flagssteuerelement, das Fenster durch die RedrawWindow-Funktion betroffen sind:
RDW_ALLCHILDREN enthält untergeordnete Fenster ggf. im neu streichenden Vorgang ein.
RDW_NOCHILDREN enthält untergeordnete Fenster ggf. vom neu streichenden Vorgang aus.
Rückgabewert
Ungleich 0 (null), wenn das Fenster erfolgreich neu entworfen wurde; andernfalls 0.
Hinweise
Wenn die RedrawWindow-Memberfunktion verwendet wird, um einen Teil des Tischplattenfensters ungültig zu machen, empfängt dieses Fenster keine WM_PAINT Meldung. Um den Desktop neu zu zeichnen, sollte eine Anwendung CWnd::ValidateRgn, CWnd::InvalidateRgn, CWnd::UpdateWindow oder RedrawWindow verwenden
Anforderungen
Header: afxwin.h