Freigeben über


CView::OnUpdate

Aufgerufen vom Framework, nachdem das Dokument der Ansicht geändert wurde, Diese Funktion wird durch CDocument::UpdateAllViews aufgerufen und der Ansicht ermöglicht, seine Anzeige zu aktualisieren, um diese Änderungen widerzuspiegeln.

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

Parameter

  • pSender
    Zeigt auf die Ansicht, die das Dokument geändert wurde, oder zu NULL, wenn alle Ansichten aktualisiert werden sollen.

  • lHint
    Enthält Informationen über die Änderungen.

  • pHint
    Punkte in ein Objekt, das Informationen über die Änderungen gespeichert werden.

Hinweise

Sie wird auch von der Standardimplementierung von OnInitialUpdate aufgerufen.Die Standardimplementierung macht den gesamten Clientbereich ungültig und ihn zum Zeichnen, wenn die folgenden WM_PAINT Nachricht empfangen wird.Überschreiben Sie diese Funktion, wenn Sie nur die Bereiche aktualisieren möchten, die zu den geänderten Teile des Dokuments zuordnen.Hierzu müssen Sie Informationen über die Änderungen mithilfe der Hinweisparameter übergeben.

So lHint verwenden, spezielle Hinweiswerte, normalerweise eine Bitmaske oder einen Enumerationstyp definieren, und die Dokumentenübergabe eine dieser Werte aufweisen.So pHint verwenden, eine Hinweisklasse von CObject ableiten und das Dokument einen Zeiger auf einen Hinweisobjekt übergeben werden; Wenn Sie OnUpdate überschreiben, verwenden Sie die CObject::IsKindOf-Memberfunktion, um den Laufzeittyp des Hinweisobjekts zu bestimmen.

In der Regel sollten Sie kein Zeichnen direkt von OnUpdate ausführen.Stattdessen sollten Sie das Rechteck, das, in Gerätekoordinaten, den Bereich beschreibt, der das Aktualisieren benötigt, führen Sie dieses Rechteck zu CWnd::InvalidateRect.Dadurch wird Zeichnen fungieren, wenn das nächste Mal eine WM_PAINT Nachricht empfangen wird.

Wenn lHint 0 ist und pHintNULL ist, hat das Dokument eine generische Updatebenachrichtigung gesendet.Wenn eine Ansicht eine generische Updatebenachrichtigung empfängt oder die Hinweise nicht decodiert werden kann, sollte sie den gesamten Clientbereich ungültig wird.

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CView-Klasse

Hierarchien-Diagramm

CDocument::UpdateAllViews

CView::OnInitialUpdate

CWnd::Invalidate

CWnd::InvalidateRect