CWnd::RedrawWindow
Atualiza o retângulo especificado ou a região na área de cliente da janela determinado.
BOOL RedrawWindow(
LPCRECT lpRectUpdate = NULL,
CRgn* prgnUpdate = NULL,
UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE
);
Parâmetros
lpRectUpdate
Aponta para um RECT estrutura que contém as coordenadas do retângulo de atualização.Este parâmetro é ignorado se prgnUpdate contém um identificador de região válido.prgnUpdate
Identifica a região de atualização.Se ambos os prgnUpdate and lpRectUpdate são NULO, a área inteira do cliente é adicionada à região de atualização.flags
Os sinalizadores a seguir são usados para invalidar a janela:RDW_ERASE Faz com que a janela receber um WM_ERASEBKGND mensagem quando a janela é redesenhada.The RDW_INVALIDATE sinalizar também deve ser especificado; caso contrário, RDW_ERASE só terá efeito.
RDW_FRAME Faz com que qualquer parte da área que não é destinada aos clientes a janela que intercepta a região de atualização para receber um WM_NCPAINT mensagem.The RDW_INVALIDATE sinalizar também deve ser especificado; caso contrário, RDW_FRAME só terá efeito.
RDW_INTERNALPAINT Faz com que um WM_PAINT mensagem a ser postado na janela independentemente se a janela contém uma região inválido.
RDW_INVALIDATE Invalidar lpRectUpdate ou prgnUpdate (somente um pode não ser NULO).Se ambos estiverem NULO, toda a janela é invalidada.
Os sinalizadores a seguir são usados para validar a janela:
RDW_NOERASE Suprime qualquer pendente WM_ERASEBKGND mensagens.
RDW_NOFRAME Suprime qualquer pendente WM_NCPAINT mensagens. Esse sinalizar deve ser usado com RDW_VALIDATE e normalmente é usado com RDW_NOCHILDREN.Esta opção deve ser usada com cuidado, pois pode impedir que partes de uma janela pintando corretamente.
RDW_NOINTERNALPAINT Suprime qualquer pendente interno WM_PAINT mensagens. Este sinalizar não afeta a WM_PAINT mensagens resultantes de áreas inválidas.
RDW_VALIDATE Valida lpRectUpdate ou prgnUpdate (somente um pode não ser NULO).Se ambos estiverem NULO, toda a janela é validado.Este sinalizar não afeta interno WM_PAINT mensagens.
Ocorre o seguinte controle sinalizadores quando o redesenho.Pintura não é executada pelo RedrawWindow função a menos que um desses bits é especificada.
RDW_ERASENOW Faz com que sistema autônomo janelas afetadas (conforme especificado pelo RDW_ALLCHILDREN and RDW_NOCHILDREN sinalizadores) para receber WM_NCPAINT e WM_ERASEBKGND mensagens, se necessário, antes que a função retorna. WM_PAINT as mensagens serão adiadas.
RDW_UPDATENOW Faz com que sistema autônomo janelas afetadas (conforme especificado pelo RDW_ALLCHILDREN and RDW_NOCHILDREN sinalizadores) para receber WM_NCPAINT, WM_ERASEBKGND, e WM_PAINT mensagens, se necessário, antes que a função retorna.
Por padrão, as janelas afetadas pelo RedrawWindow função dependem se a janela especificada tem o WS_CLIPCHILDREN estilo.As janelas filho de WS_CLIPCHILDREN janelas não são afetadas.No entanto, essas janelas que não são WS_CLIPCHILDREN janelas são recursivamente validado ou invalidadas até um WS_CLIPCHILDREN janela é encontrada.Os seguintes sinalizadores de controlam quais janelas são afetadas pelo RedrawWindow função:
RDW_ALLCHILDREN Inclui janelas filho, se houver, na operação repainting.
RDW_NOCHILDREN Exclui janelas filho, se houver, da operação repainting.
Valor de retorno
Diferente de zero se a janela foi redesenhada com êxito; caso contrário, 0.
Comentários
Quando o RedrawWindow função de membro é usada para invalidar parte da janela da área de trabalho, essa janela não recebe um WM_PAINT mensagem.Para redesenhar a área de trabalho, um aplicativo deve usar CWnd::ValidateRgn, CWnd::InvalidateRgn, CWnd::UpdateWindow, or RedrawWindow
Requisitos
Cabeçalho: afxwin.h