Função RedrawWindow (winuser.h)
A função RedrawWindow atualiza o retângulo ou a região especificados na área de cliente de uma janela.
Sintaxe
BOOL RedrawWindow(
[in] HWND hWnd,
[in] const RECT *lprcUpdate,
[in] HRGN hrgnUpdate,
[in] UINT flags
);
Parâmetros
[in] hWnd
Um identificador para a janela a ser redesenhada. Se esse parâmetro for NULL, a janela da área de trabalho será atualizada.
[in] lprcUpdate
Um ponteiro para uma estrutura RECT que contém as coordenadas, em unidades de dispositivo, do retângulo de atualização. Esse parâmetro será ignorado se o parâmetro hrgnUpdate identificar uma região.
[in] hrgnUpdate
Um identificador para a região de atualização. Se os parâmetros hrgnUpdate e lprcUpdate forem NULL, toda a área do cliente será adicionada à região de atualização.
[in] flags
Um ou mais sinalizadores de redesenho. Esse parâmetro pode ser usado para invalidar ou validar uma janela, controlar o repositório e controlar quais janelas são afetadas pelo RedrawWindow.
Os sinalizadores a seguir são usados para invalidar a janela.
Sinalizador (invalidação) | Descrição |
---|---|
|
Faz com que a janela receba uma mensagem WM_ERASEBKGND quando a janela é repintada. O sinalizador RDW_INVALIDATE também deve ser especificado; caso contrário, RDW_ERASE não terá efeito. |
|
Faz com que qualquer parte da área não cliente da janela que cruze a região de atualização receba uma mensagem WM_NCPAINT . O sinalizador RDW_INVALIDATE também deve ser especificado; caso contrário, RDW_FRAME não terá efeito. A mensagem WM_NCPAINT normalmente não é enviada durante a execução de RedrawWindow , a menos que RDW_UPDATENOW ou RDW_ERASENOW seja especificado. |
|
Faz com que uma mensagem WM_PAINT seja postada na janela, independentemente de qualquer parte da janela ser inválida. |
|
Invalida lprcUpdate ou hrgnUpdate (apenas um pode ser não NULL). Se ambos forem NULL, a janela inteira será invalidada. |
Os sinalizadores a seguir são usados para validar a janela.
Sinalizador (validação) | Descrição |
---|---|
|
Suprime todas as mensagens de WM_ERASEBKGND pendentes. |
|
Suprime todas as mensagens de WM_NCPAINT pendentes. Esse sinalizador deve ser usado com RDW_VALIDATE e normalmente é usado com RDW_NOCHILDREN. RDW_NOFRAME deve ser usado com cuidado, pois pode fazer com que partes de uma janela sejam pintadas incorretamente. |
|
Suprime todas as mensagens de WM_PAINT internas pendentes. Esse sinalizador não afeta WM_PAINT mensagens resultantes de uma área de atualização não NULL . |
|
Valida lprcUpdate ou hrgnUpdate (apenas um pode ser não NULL). Se ambos forem NULL, a janela inteira será validada. Esse sinalizador não afeta mensagens de WM_PAINT internas. |
O controle de sinalizadores a seguir quando a repintura ocorre. RedrawWindow não será repintado, a menos que um desses sinalizadores seja especificado.
Sinalizador | Descrição |
---|---|
|
Faz com que as janelas afetadas (conforme especificado pelos sinalizadores RDW_ALLCHILDREN e RDW_NOCHILDREN) recebam mensagens WM_NCPAINT e WM_ERASEBKGND , se necessário, antes que a função retorne. WM_PAINT mensagens são recebidas no horário comum. |
|
Faz com que as janelas afetadas (conforme especificado pelos sinalizadores RDW_ALLCHILDREN e RDW_NOCHILDREN) recebam mensagens WM_NCPAINT, WM_ERASEBKGND e WM_PAINT , se necessário, antes que a função retorne. |
Por padrão, as janelas afetadas por RedrawWindow dependem se a janela especificada tem o estilo WS_CLIPCHILDREN. Janelas filho que não são o estilo WS_CLIPCHILDREN não são afetadas; janelas não WS_CLIPCHILDREN são validadas recursivamente ou invalidadas até que uma janela de WS_CLIPCHILDREN seja encontrada. Os sinalizadores a seguir controlam quais janelas são afetadas pela função RedrawWindow .
Sinalizador | Descrição |
---|---|
|
Inclui janelas filho, se houver, na operação de redesenho. |
|
Inclui janelas filho, se houver, na operação de redesenho. |
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero.
Comentários
Quando RedrawWindow é usado para invalidar parte da janela da área de trabalho, a janela da área de trabalho não recebe uma mensagem WM_PAINT . Para repintar a área de trabalho, um aplicativo usa o sinalizador RDW_ERASE para gerar uma mensagem WM_ERASEBKGND .
Requisitos
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] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Conjunto de APIs | ext-ms-win-ntuser-draw-l1-1-0 (introduzido no Windows 8) |