Compartilhar via


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 da hierarquia