Udostępnij za pośrednictwem


CWnd::RedrawWindow

Aktualizuje określonego prostokąta lub region, w obszarze klienta danego okna.

BOOL RedrawWindow(
   LPCRECT lpRectUpdate = NULL,
   CRgn* prgnUpdate = NULL,
   UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE 
); 

Parametry

  • lpRectUpdate
    Wskazuje na RECT struktury zawierającej współrzędne prostokąt aktualizacji.Ten parametr jest ignorowany, jeśli prgnUpdate zawiera uchwyt regionu prawidłowy.

  • prgnUpdate
    Identyfikuje regionu aktualizacji.Jeśli oba prgnUpdate i lpRectUpdate są NULL, całego obszaru klienta jest dodawany do regionu aktualizacji.

  • flags
    Następujące flagi są używane do unieważnia okna:

    • RDW_ERASE powoduje, że okno, aby otrzymać WM_ERASEBKGND wiadomości, gdy okno jest odowieżany.RDW_INVALIDATE musi być także określona flaga; w przeciwnym razie RDW_ERASE nie ma wpływu.

    • RDW_FRAME jakiejkolwiek części obszaru nonclient okna, w którym przecina regionu aktualizacji do odbierania powoduje WM_NCPAINT wiadomości.RDW_INVALIDATE musi być także określona flaga; w przeciwnym razie RDW_FRAME nie ma wpływu.

    • RDW_INTERNALPAINT powoduje, że WM_PAINT wiadomość ma zostać zaksięgowany do okna, niezależnie od tego, czy okno zawiera nieprawidłowy region.

    • RDW_INVALIDATE Invalidate lpRectUpdate lub prgnUpdate (nie może być tylko jeden NULL).Jeśli oba są NULL, całe okno jest unieważnione.

    Następujące flagi są używane do sprawdzania poprawności okna:

    • RDW_NOERASE pomija wszelkie toczące się WM_ERASEBKGND wiadomości.

    • RDW_NOFRAME pomija wszelkie toczące się WM_NCPAINT wiadomości.Flaga ta musi być używana z RDW_VALIDATE i jest zazwyczaj używane z RDW_NOCHILDREN.Opcja ta powinna służyć ostrożnie, z właściwie malowania może uniemożliwić części okna.

    • RDW_NOINTERNALPAINT pomija oczekujących wewnętrznego WM_PAINT wiadomości.Ta flaga nie wpływa na WM_PAINT wynikających z obszarów nieprawidłowe wiadomości.

    • RDW_VALIDATE Validates lpRectUpdate lub prgnUpdate (nie może być tylko jeden NULL).Jeśli oba są NULL, całe okno jest sprawdzana.Ta flaga nie wpływa na wewnętrzny WM_PAINT wiadomości.

    Występuje w następujących flag kontroli podczas ponownego rysowania.Malowanie nie jest wykonywane przez RedrawWindow działać, chyba że określono jednego z tych bitów.

    • RDW_ERASENOW powoduje dotkniętych windows (określone przez RDW_ALLCHILDREN i RDW_NOCHILDREN flagi) do otrzymania WM_NCPAINT i WM_ERASEBKGND wiadomości, jeśli to konieczne, zanim funkcja zwraca.WM_PAINTwiadomości są odroczone.

    • RDW_UPDATENOW powoduje dotkniętych windows (określone przez RDW_ALLCHILDREN i RDW_NOCHILDREN flagi) do otrzymania WM_NCPAINT, WM_ERASEBKGND, i WM_PAINT wiadomości, jeśli to konieczne, zanim funkcja zwraca.

    Domyślnie windows dotknięte RedrawWindow funkcji zależy od tego, czy określone okno ma WS_CLIPCHILDREN styl.Okien podrzędnych z WS_CLIPCHILDREN nie dotyczy systemu windows.Jednak te systemu windows, nie są WS_CLIPCHILDREN windows są rekursywnie zatwierdzone lub unieważnione aż do WS_CLIPCHILDREN napotkania okna.Następujące flagi sterowania, którego dotyczy systemu windows RedrawWindow funkcji:

    • RDW_ALLCHILDREN zawiera okien podrzędnych w operacji repainting.

    • RDW_NOCHILDREN wyklucza okien podrzędnych z operacji repainting.

Wartość zwracana

Niezerowa, jeśli okno była odświeżana pomyślnie; 0 inaczej.

Uwagi

Po RedrawWindow Członkowskich funkcja jest używana do unieważnia część okna pulpitu nie otrzyma okno WM_PAINT wiadomości.Do odświeżenia pulpitu, należy użyć aplikacji CWnd::ValidateRgn, CWnd::InvalidateRgn, CWnd::UpdateWindow, lub RedrawWindow

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CWnd

Wykres hierarchii