WM_SETREDRAW mensagem
Você envia a mensagem WM_SETREDRAW para uma janela para permitir que as alterações nessa janela sejam redesenhadas ou para impedir que as alterações nessa janela sejam redesenhadas.
Para enviar essa mensagem, chame a função SendMessage com os parâmetros a seguir.
SendMessage(
(HWND) hWnd,
WM_SETREDRAW,
(WPARAM) wParam,
(LPARAM) lParam
);
Parâmetros
wParam
O estado de redesenho. Se esse parâmetro for TRUE, o conteúdo poderá ser redesenhado após uma alteração. Se esse parâmetro for FALSE, o conteúdo não poderá ser redesenhado após uma alteração.
lParam
Esse parâmetro não é usado.
Valor retornado
Seu aplicativo deverá retornar 0 se processar essa mensagem.
Comentários
Essa mensagem poderá ser útil se o aplicativo precisar adicionar vários itens a uma caixa de listagem. Seu aplicativo pode chamar essa mensagem com wParam definido como FALSE, adicionar os itens e, em seguida, chamar a mensagem novamente com wParam definido como TRUE. Por fim, seu aplicativo pode chamar RedrawWindow(hWnd, NULL, NULL RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN) para fazer com que a caixa de listagem seja repintada.
Observação
Você deve usar RedrawWindow com os sinalizadores especificados, em vez de InvalidateRect, porque o primeiro é necessário para alguns controles que têm área não cliente própria ou têm estilos de janela que fazem com que eles recebam uma área não cliente (como WS_THICKFRAME, WS_BORDER ou WS_EX_CLIENTEDGE). Se o controle não tiver uma área não cliente, RedrawWindow com esses sinalizadores fará apenas a invalidação que InvalidateRect faria.
Passar uma mensagem de WM_SETREDRAW para a função DefWindowProc remove o estilo WS_VISIBLE da janela quando wParam é definido como FALSE. Embora o conteúdo da janela permaneça visível na tela, a função IsWindowVisible retorna FALSE quando chamada em uma janela nesse estado.
Passar uma mensagem de WM_SETREDRAW para a função DefWindowProc adiciona o estilo WS_VISIBLE à janela, se não definido, quando wParam é definido como TRUE. Se o aplicativo enviar a mensagem WM_SETREDRAW com wParam definido como TRUE para uma janela oculta, a janela ficará visível.
Windows 10 e posterior; Windows Server 2016 e posteriores. O sistema define uma propriedade chamada SysSetRedraw em uma janela cujo procedimento de janela passa WM_SETREDRAW mensagens para DefWindowProc. Você pode usar a função GetProp para obter o valor da propriedade quando ela estiver disponível. GetProp retorna um valor diferente de zero quando redraw é desabilitado. GetProp retornará zero quando redraw estiver habilitado ou quando a propriedade de janela não existir.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho |
|