Condividi tramite


messaggio di WM_SETREDRAW

Si invia il messaggio di WM_SETREDRAW a una finestra per consentire il ridisegno delle modifiche in tale finestra o per impedire il ridisegno delle modifiche apportate a tale finestra.

Per inviare questo messaggio, chiamare la funzione SendMessage con i parametri seguenti.

SendMessage(
  (HWND) hWnd,
  WM_SETREDRAW,
  (WPARAM) wParam,
  (LPARAM) lParam
);

Parametri

wParam

Stato ridisegnato. Se questo parametro è TRUE, il contenuto può essere ridisegnato dopo una modifica. Se questo parametro è FALSE, il contenuto non può essere ridisegnato dopo una modifica.

lParam

Questo parametro non viene usato.

Valore restituito

L'applicazione deve restituire 0 se elabora questo messaggio.

Commenti

Questo messaggio può essere utile se l'applicazione deve aggiungere diversi elementi a una casella di riepilogo. L'applicazione può chiamare questo messaggio con wParam impostato su FALSE, aggiungere gli elementi e quindi chiamare di nuovo il messaggio con wParam impostato su TRUE. Infine, l'applicazione può chiamare RedrawWindow(hWnd, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN) per fare in modo che la casella di riepilogo venga aggiornata.

Nota

È consigliabile usare RedrawWindow con i flag specificati, invece di InvalidateRect, perché il primo è necessario per alcuni controlli che dispongono di aree non client personalizzate o con stili di finestra che li fanno assegnare a un'area non client (ad esempio , WS_THICKFRAME, WS_BORDER o WS_EX_CLIENTEDGE). Se il controllo non dispone di un'area non client, RedrawWindow con questi flag eseguirà solo l'invalidazione come InvalidateRect .

Il passaggio di un messaggio di WM_SETREDRAW alla funzione DefWindowProc rimuove lo stile WS_VISIBLE dalla finestra quando wParam è impostato su FALSE. Anche se il contenuto della finestra rimane visibile sullo schermo, la funzione IsWindowVisible restituisceFALSE quando viene chiamato su una finestra in questo stato.

Se si passa un messaggio di WM_SETREDRAW alla funzione DefWindowProc , lo stile WS_VISIBLE viene aggiunto alla finestra, se non impostato, quando wParam è impostato su TRUE. Se l'applicazione invia il messaggio di WM_SETREDRAW con wParam impostato su TRUE a una finestra nascosta, la finestra diventa visibile.

Windows 10 e versioni successive; Windows Server 2016 e versioni successive. Il sistema imposta una proprietà denominata SysSetRedraw in una finestra la cui routine finestra passa WM_SETREDRAW messaggi a DefWindowProc. È possibile usare la funzione GetProp per ottenere il valore della proprietà quando è disponibile. GetProp restituisce un valore diverso da zero quando il ridisegno è disabilitato. GetProp restituirà zero quando è abilitato il nuovo disegno o quando la proprietà della finestra non esiste.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione
Winuser.h (include Windows.h)

Vedi anche