Freigeben über


Vorlagen

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

Siehe auch

Referenz

CWnd-Klasse

Hierarchien-Diagramm