CWnd::RedrawWindow

Atualiza o retângulo ou região especificada no cliente da janela determinada área.

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

Parâmetros

  • lpRectUpdate
    Os pontos a RECT a estrutura contendo as coordenadas do retângulo de atualização.Esse parâmetro é ignorado se o prgnUpdate contém um identificador válido da região.

  • prgnUpdate
    Identifica a região de atualização.Se o prgnUpdate e lpRectUpdate são NULO, toda a área cliente é adicionada à região de atualização.

  • flags
    Os seguintes sinalizações são usados para invalidar a janela:

    • RDW_ERASE faz com que a janela receber uma mensagem de WM_ERASEBKGND quando a janela é repintada.O sinalizador de RDW_INVALIDATE também deve ser especificado; se não RDW_ERASE não tem efeito.

    • RDW_FRAME causa qualquer parte da área de nonclient da janela que cruza a região de atualização para receber uma mensagem de WM_NCPAINT .O sinalizador de RDW_INVALIDATE também deve ser especificado; se não RDW_FRAME não tem efeito.

    • RDW_INTERNALPAINT causa uma mensagem de WM_PAINT a ser enviada para a janela independentemente da janela contém uma região inválido.

    • RDW_INVALIDATE invalida lpRectUpdate ou o prgnUpdate (somente um não pode ser NULO).Se ambos são NULO, a janela inteira é invalidada.

    Os seguintes sinalizações são usados para validar a janela:

    • RDW_NOERASE suprime todas as mensagens pendentes de WM_ERASEBKGND .

    • RDW_NOFRAME suprime todas as mensagens pendentes de WM_NCPAINT .Este sinalizador deve ser usado com RDW_VALIDATE e é normalmente usado com RDW_NOCHILDREN.Esta opção deve ser usada com cuidado, porque pode impedir que partes de uma janela pintem corretamente.

    • RDW_NOINTERNALPAINT suprime todas as mensagens pendentes internas de WM_PAINT .Este sinalizador não afeta mensagens de WM_PAINT resultantes das áreas inválidos.

    • RDW_VALIDATE valida lpRectUpdate ou o prgnUpdate (somente um não pode ser NULO).Se ambos são NULO, a janela inteira é validada.Este sinalizador não afeta mensagens internas de WM_PAINT .

    Os seguintes sinalizações redesenhar controle quando ocorre.A pintura não é executada pela função de RedrawWindow a menos que um de esses bits é especificado.

    • RDW_ERASENOW faz com que o windows afetadas (como especificado pelos sinalizadores de RDW_ALLCHILDREN e de RDW_NOCHILDREN ) WM_NCPAINT e recebem mensagens de WM_ERASEBKGND se necessário, antes que a função retorna.Mensagens deWM_PAINT são adiadas.

    • RDW_UPDATENOW faz com que o windows afetadas (como especificado pelos sinalizadores de RDW_ALLCHILDREN e de RDW_NOCHILDREN ) recebe WM_NCPAINT, WM_ERASEBKGND, e mensagens de WM_PAINT se necessário, antes da função retorna.

    Por padrão, o windows afetadas pela função de RedrawWindow dependem se a janela especificada tem o estilo de WS_CLIPCHILDREN .As janelas filho do windows de WS_CLIPCHILDREN não são afetadas.Em o entanto, essas janelas que não são janelas de WS_CLIPCHILDREN recursivamente validadas são invalidadas ou até que uma janela de WS_CLIPCHILDREN seja encontrada.O seguinte controle de sinalizações que as janelas são afetados pela função de RedrawWindow :

    • RDW_ALLCHILDREN inclui janelas filho, se houver, a operação repintando.

    • ExcluiRDW_NOCHILDREN janelas filho, se houver, da operação repintando.

Valor de retorno

Diferente de zero se a janela foi redesenhada com êxito; se não 0.

Comentários

Quando a função de membro de RedrawWindow é usada para invalidar a parte da janela da área de trabalho, essa janela não recebe uma mensagem de WM_PAINT .Para redesenhar a área de trabalho, um aplicativo deve usar CWnd::ValidateRgn, CWnd::InvalidateRgn, CWnd::UpdateWindow, ou RedrawWindow

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

CWnd Class

Gráfico de hierarquia