Compartilhar via


CView::OnUpdate

Chamado pela estrutura após o documento de exibição foi alterado; essa função é chamada por CDocument::UpdateAllViews e permite que a exibição atualize a exibição para refletir as alterações.

virtual void OnUpdate( 
   CView* pSender, 
   LPARAM lHint, 
   CObject* pHint  
);

Parâmetros

  • pSender
    Aponta para o modo que alterou o documento, ou NULO se todas as visualizações devem ser atualizadas.

  • lHint
    Contém informações sobre as alterações.

  • pHint
    Aponta para um objeto que armazena informações sobre as alterações.

Comentários

Também é chamado pela implementação padrão de OnInitialUpdate. A implementação padrão invalida toda a área cliente, marcar um para pintar quando a seguinte mensagem de WM_PAINT é recebida. Substituir essa função se você deseja atualizar somente as áreas que mapeiam as partes alteradas do documento. Para fazê-lo você deve passar informações sobre as alterações usando os parâmetros de dica.

Para usar lHint, defina valores especiais de dica, geralmente uma máscara de bits ou um tipo enumerado, e a ter uma passagem de documento de esses valores. Para usar pHint, derive uma classe de dica de CObject e fazer o documento passar um ponteiro para um objeto de dica; ao substituir OnUpdate, use a função de membro de CObject::IsKindOf para determinar o tipo de tempo de execução do objeto de dica.

Normalmente você não deve executar qualquer desenhar diretamente de OnUpdate. Em vez de isso, determine o retângulo que descreve, em coordenadas de dispositivo, a área que requer atualizar; passar este retângulo a CWnd::InvalidateRect. Isso faz com que a pintura ocorra a próxima vez que uma mensagem de WM_PAINT é recebida.

Se lHint é 0 e pHint é NULO, o documento envia uma notificação genérica de atualização. Se uma exibição receber uma notificação genérica de atualização, ou se não puderem decodificar dicas, deve invalidar sua área inteira de cliente.

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CView

Gráfico da hierarquia

CDocument::UpdateAllViews

CView::OnInitialUpdate

CWnd::Invalidate

CWnd::InvalidateRect