Partager via


CView::OnUpdate

Appelé par l'infrastructure après le document de la vue a été modifié ; cette fonction est appelée par CDocument::UpdateAllViews et permet à la vue pour mettre à jour son affichage pour refléter ces modifications.

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

Paramètres

  • pSender
    Points à la vue qui a modifié le document, ou NULL si toutes les vues doivent être mises à jour.

  • lHint
    Contient des informations sur les modifications.

  • pHint
    Pointe vers un objet de stocker des informations sur les modifications.

Notes

Il est également appelé par l'implémentation par défaut d' OnInitialUpdate. L'implémentation par défaut invalide la zone cliente entière, le marquant pour peindre lorsque le message d' WM_PAINT est reçu. Remplacez cette fonction pour mettre à jour uniquement les régions qui mappent aux parties modifiées du document. Pour ce faire passer des informations sur les modifications à l'aide de les paramètres des indicateurs.

Pour utiliser lHint, définir des valeurs spéciales des indicateurs, en général un masque de bits ou un type énuméré, et que le passage d'un document de ces valeurs. Pour utiliser pHint, dériver une classe d'indicateur de CObject et faire passer le document un pointeur vers un objet d'indicateur ; en substituant OnUpdate, utilisez la fonction membre de CObject::IsKindOf pour déterminer le type d'exécution de l'objet des indicateurs.

En général vous ne devez pas exécuter de tirer directement d' OnUpdate. À la place, déterminez le rectangle qui, dans les coordonnées de périphérique, la zone qui requiert mettre à jour ; passez ce rectangle à CWnd::InvalidateRect. Cela provoqué la peinture la prochaine fois qu'un message de WM_PAINT est reçu.

Si lHint est 0 et pHint est NULL, le document a envoyé une notification de mise à jour générique. Si une vue reçoit une notification de mise à jour générique, ou si elle ne peut pas décoder des indicateurs, elle doit invalider sa zone cliente entière.

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CView, classe

Graphique de la hiérarchie

CDocument::UpdateAllViews

CView::OnInitialUpdate

CWnd::Invalidate

CWnd::InvalidateRect