CView Sınıf

Kullanıcı tanımlı görünüm sınıfları için temel işlevleri sağlar.

Sözdizimi

class AFX_NOVTABLE CView : public CWnd

Üyeler

Korumalı Oluşturucular

Veri Akışı Adı Açıklama
CView::CView Bir CView nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CView::DoPreparePrinting Yazdır iletişim kutusunu görüntüler ve yazıcı cihazı bağlamı oluşturur; üye işlevi geçersiz kılınırken çağrısı.OnPreparePrinting
CView::GetDocument Görünümle ilişkili belgeyi döndürür.
CView::IsSelected Belge öğesinin seçilip seçilmediğini sınar. OLE desteği için gereklidir.
CView::OnDragEnter Bir öğe görünümün sürükle ve bırak bölgesine ilk sürüklendiğinde çağrılır.
CView::OnDragLeave Sürüklenen öğe görünümün sürükle ve bırak bölgesinden ayrıldığında çağrılır.
CView::OnDragOver Bir öğe görünümün sürükle ve bırak bölgesinin üzerine sürüklendiğinde çağrılır.
CView::OnDragScroll İmlecin pencerenin kaydırma bölgesine sürüklenip sürüklenmediğini belirlemek için çağrılır.
CView::OnDrop Bir öğe görünümün sürükle ve bırak bölgesine bırakıldığında çağrılır, varsayılan işleyici.
CView::OnDropEx Bir öğe, bir görünümün birincil işleyicisinin sürükle ve bırak bölgesine bırakıldığında çağrılır.
CView::OnInitialUpdate Görünüm ilk olarak belgeye eklendikten sonra çağrılır.
CView::OnPrepareDC Ekran görüntüsü için üye işlevi çağrılmadan veya yazdırma veya OnPrint baskı önizleme için üye işlevi çağrılmadan önce OnDraw çağrılır.
CView::OnScroll OLE öğeleri görünümün kenarlıklarının dışına sürüklendiğinde çağrılır.
CView::OnScrollBy Etkin yerinde OLE öğelerini içeren bir görünüm kaydırıldığında çağrılır.

Korumalı Yöntemler

Veri Akışı Adı Açıklama
CView::OnActivateFrame Görünümü içeren çerçeve penceresi etkinleştirildiğinde veya devre dışı bırakıldığında çağrılır.
CView::OnActivateView Görünüm etkinleştirildiğinde çağrılır.
CView::OnBeginPrinting Yazdırma işi başladığında çağrılır; grafik cihaz arabirimi (GDI) kaynaklarını ayırmak için geçersiz kılın.
CView::OnDraw Ekran görüntüsü, yazdırma veya baskı önizleme için belgenin görüntüsünü işlemek için çağrılır. Uygulama gerekli.
CView::OnEndPrinting Yazdırma işi sona erdiğinde çağrılır; GDI kaynaklarını serbest bırakmak için geçersiz kılın.
CView::OnEndPrintPreview Önizleme modundan çıkıldığında çağrılır.
CView::OnPreparePrinting Belge yazdırılmadan veya önizlemeden önce çağrılır; yazdır iletişim kutusunu başlatmak için geçersiz kıl'ı seçin.
CView::OnPrint Belgenin bir sayfasını yazdırmak veya önizlemek için çağrılır.
CView::OnUpdate Belgenin değiştirildiğini bir görünüme bildirmek için çağrılır.

Açıklamalar

Bir görünüm belgeye eklenir ve belgeyle kullanıcı arasında aracı görevi görür: görünüm, belgenin bir görüntüsünü ekranda veya yazıcıda işler ve kullanıcı girişini belge üzerinde işlem olarak yorumlar.

Görünüm, çerçeve penceresinin alt öğesidir. Bir bölme penceresi söz konusu olduğunda olduğu gibi, birden fazla görünüm çerçeve penceresini paylaşabilir. Görünüm sınıfı, çerçeve penceresi sınıfı ve belge sınıfı arasındaki ilişki bir CDocTemplate nesne tarafından oluşturulur. Kullanıcı yeni bir pencere açtığında veya var olan bir pencereyi böldüğünde, çerçeve yeni bir görünüm oluşturur ve belgeye ekler.

Bir görünüm yalnızca bir belgeye eklenebilir, ancak bir belgede aynı anda birden çok görünüm eklenebilir; örneğin, belge bir bölücü penceresinde veya birden çok belge arabirimi (MDI) uygulamasında birden çok alt pencerede görüntüleniyorsa. Uygulamanız belirli bir belge türü için farklı görünüm türlerini destekleyebilir; örneğin, bir sözcük işleme programı hem belgenin tam metin görünümünü hem de yalnızca bölüm başlıklarını gösteren ana hat görünümünü sağlayabilir. Bölücü pencere kullanıyorsanız, bu farklı görünüm türleri ayrı çerçeve pencerelerine veya tek bir çerçeve penceresinin ayrı bölmelerine yerleştirilebilir.

Görünüm, klavye girişi, fare girişi veya sürükle bırak yoluyla giriş gibi çeşitli giriş türlerinin yanı sıra menülerden, araç çubuklarından veya kaydırma çubuklarından gelen komutları işlemekten sorumlu olabilir. Görünüm, çerçeve penceresi tarafından iletilen komutları alır. Görünüm belirli bir komutu işlemezse, komutu ilişkili belgesine iletir. Tüm komut hedeflerinde olduğu gibi görünüm de iletileri ileti eşlemesi aracılığıyla işler.

Görünüm, belgenin verilerini görüntülemek ve değiştirmekle sorumludur, ancak depolamaktan sorumlu değildir. Belge, görünüme verileriyle ilgili gerekli ayrıntıları sağlar. Görünümün belgenin veri üyelerine doğrudan erişmesine izin verebilir veya görünüm sınıfının çağırması için belge sınıfında üye işlevleri sağlayabilirsiniz.

Bir belgenin verileri değiştiğinde, değişikliklerden sorumlu görünüm genellikle belgenin işlevini çağırır CDocument::UpdateAllViews ve her biri için üye işlevini çağırarak OnUpdate diğer tüm görünümlere bildirir. varsayılan uygulaması OnUpdate , görünümün istemci alanının tamamını geçersiz klır. Yalnızca belgenin değiştirilmiş bölümleriyle eşlenen istemci alanının bölgelerini geçersiz kılmak için geçersiz kılabilirsiniz.

kullanmak CViewiçin, öğesinden bir sınıf türetin ve ekran görüntüsü gerçekleştirmek için üye işlevini uygulayın OnDraw . Yazdırma ve baskı önizleme gerçekleştirmek için de kullanabilirsiniz OnDraw . Çerçeve, belgenizi yazdırmak ve önizlemek için yazdırma döngüsünü işler.

Görünüm, ve CWnd::OnVScroll üye işlevleriyle CWnd::OnHScroll kaydırma çubuğu iletilerini işler. Bu işlevlerde kaydırma çubuğu ileti işlemesi uygulayabilir veya sizin için kaydırmayı işlemek için türetilmiş sınıfı CScrollView kullanabilirsinizCView.

CScrollViewAyrıca, Microsoft Foundation Sınıf Kitaplığı' ndan CViewtüretilen dokuz sınıf daha sağlar:

  • CCtrlView, belge kullanımına izin veren bir görünüm - ağaç, liste ve zengin düzenleme denetimleriyle mimariyi görüntüleyin.

  • CDaoRecordView, iletişim kutusu denetimlerinde veritabanı kayıtlarını görüntüleyen bir görünüm.

  • CEditView, basit bir çok satırlı metin düzenleyicisi sağlayan bir görünüm. Bir CEditView nesneyi bir iletişim kutusunda denetim olarak ve belgedeki bir görünümde kullanabilirsiniz.

  • CFormView, iletişim kutusu denetimleri içeren ve bir iletişim kutusu şablonu kaynağını temel alan kaydırılabilir bir görünüm.

  • CListView, belge kullanımına izin veren bir görünüm - liste denetimleriyle mimariyi görüntüleyin.

  • CRecordView, iletişim kutusu denetimlerinde veritabanı kayıtlarını görüntüleyen bir görünüm.

  • CRichEditView, belge kullanımına izin veren bir görünüm - zengin düzenleme denetimleriyle mimariyi görüntüleyin.

  • CScrollView, otomatik olarak kaydırma desteği sağlayan bir görünüm.

  • CTreeView, belge kullanımına izin veren bir görünüm - ağaç denetimleriyle mimariyi görüntüleyin.

Sınıfında CView ayrıca, çerçeve tarafından baskı önizlemesi gerçekleştirmek için kullanılan adlı CPreviewViewtüretilmiş bir uygulama sınıfı vardır. Bu sınıf, bir araç çubuğu, tek veya çift sayfa önizleme ve önizleme görüntüsünü büyütme gibi baskı önizleme penceresine özgü özellikler için destek sağlar. Baskı önizleme için kendi arabiriminizi uygulamak istemediğiniz sürece (örneğin, baskı önizleme modunda düzenlemeyi desteklemek istiyorsanız) üye işlevlerini çağırmanız veya geçersiz kılmanız CPreviewViewgerekmez. kullanma CViewhakkında daha fazla bilgi için bkz . Belge/Görünüm Mimarisi ve Yazdırma. Ayrıca, baskı önizlemeyi özelleştirme hakkında daha fazla ayrıntı için bkz . Teknik Not 30 .

Devralma Hiyerarşisi

CObject

CCmdTarget

CWnd

CView

Gereksinimler

Üstbilgi: afxwin.h

CView::CView

Bir CView nesne oluşturur.

CView();

Açıklamalar

Çerçeve, yeni bir çerçeve penceresi oluşturulduğunda veya bir pencere bölündüğünde oluşturucuyu çağırır. OnInitialUpdate Belge eklendikten sonra görünümü başlatmak için üye işlevini geçersiz kılın.

CView::DoPreparePrinting

Yazdır iletişim kutusunu çağırmak ve bir yazıcı cihazı bağlamı oluşturmak için bu işlevi geçersiz kılmanızdan OnPreparePrinting çağırın.

BOOL DoPreparePrinting(CPrintInfo* pInfo);

Parametreler

pInfo
Geçerli yazdırma işini açıklayan bir CPrintInfo yapıya işaret eder.

Dönüş Değeri

Yazdırma veya baskı önizleme başlayabilirse sıfır olmayan; İşlem iptal edildiyse 0.

Açıklamalar

Bu işlevin davranışı, yazdırma veya baskı önizleme için çağrılıp çağrılmadığına bağlıdır (parametrenin pInfo üyesi tarafından m_bPreview belirtilir). Bir dosya yazdırılıyorsa, bu işlev, işaret eden pInfo yapıdaki CPrintInfo değerleri kullanarak Yazdır iletişim kutusunu çağırır; kullanıcı iletişim kutusunu kapattıktan sonra, kullanıcı iletişim kutusunda belirtilen ayarlara göre bir yazıcı cihazı bağlamı oluşturur ve bu cihaz bağlamını pInfo parametresi aracılığıyla döndürür. Bu cihaz bağlamı belgeyi yazdırmak için kullanılır.

Bir dosyanın önizlemesi yapılıyorsa, bu işlev geçerli yazıcı ayarlarını kullanarak bir yazıcı cihazı bağlamı oluşturur; bu cihaz bağlamı, önizleme sırasında yazıcının benzetimini yapmak için kullanılır.

CView::GetDocument

Görünümün belgesine bir işaretçi almak için bu işlevi çağırın.

CDocument* GetDocument() const;

Dönüş Değeri

Görünümle ilişkilendirilmiş nesnenin CDocument işaretçisi. NULL görünüm belgeye eklenmemişse.

Açıklamalar

Bu, belgenin üye işlevlerini çağırmanızı sağlar.

CView::IsSelected

Belirtilen belge öğesinin seçili olup olmadığını denetlemek için çerçeve tarafından çağrılır.

virtual BOOL IsSelected(const CObject* pDocItem) const;

Parametreler

pDocItem
Test edilen belge öğesini gösterir.

Dönüş Değeri

Belirtilen belge öğesi seçiliyse sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu işlevin varsayılan uygulaması döndürür FALSE. Nesneleri kullanarak CDocItem seçim uyguluyorsanız bu işlevi geçersiz kılın. Görünümünüz OLE öğeleri içeriyorsa bu işlevi geçersiz kılmalısınız.

CView::OnActivateFrame

Görünümü içeren çerçeve penceresi etkinleştirildiğinde veya devre dışı bırakıldığında çerçeve tarafından çağrılır.

virtual void OnActivateFrame(
    UINT nState,
    CFrameWnd* pFrameWnd);

Parametreler

nState
Çerçeve penceresinin etkinleştirilip etkinleştirilmediğini veya devre dışı bırakıldığını belirtir. Aşağıdaki değerlerden biri olabilir:

  • WA_INACTIVE Çerçeve penceresi devre dışı bırakılıyor.

  • WA_ACTIVE Çerçeve penceresi fare tıklaması dışında bir yöntemle etkinleştiriliyor (örneğin, pencereyi seçmek için klavye arabirimi kullanılarak).

  • WA_CLICKACTIVE Çerçeve penceresi fare tıklaması ile etkinleştiriliyor

pFrameWnd
Etkinleştirilecek çerçeve penceresinin işaretçisi.

Açıklamalar

Görünümle ilişkili çerçeve penceresi etkinleştirildiğinde veya devre dışı bırakıldığında özel işlem gerçekleştirmek istiyorsanız bu üye işlevini geçersiz kılın. Örneğin, CFormView odağı olan denetimi kaydedip geri yüklediğinde bu geçersiz kılmayı gerçekleştirir.

CView::OnActivateView

Görünüm etkinleştirildiğinde veya devre dışı bırakıldığında çerçeve tarafından çağrılır.

virtual void OnActivateView(
    BOOL bActivate,
    CView* pActivateView,
    CView* pDeactiveView);

Parametreler

bActivate
Görünümün etkinleştirildiğini veya devre dışı bırakıldığını gösterir.

pActivateView
Etkinleştirilmekte olan görünüm nesnesini gösterir.

pDeactiveView
Devre dışı bırakılan görünüm nesnesini gösterir.

Açıklamalar

Bu işlevin varsayılan uygulaması, odağı etkinleştirilmekte olan görünüme ayarlar. Bir görünüm etkinleştirildiğinde veya devre dışı bırakıldığında özel işlem gerçekleştirmek istiyorsanız bu işlevi geçersiz kılın. Örneğin, etkin görünümü etkin olmayan görünümlerden ayıran özel görsel ipuçları sağlamak istiyorsanız, parametresini bActivate inceler ve görünümün görünümünü uygun şekilde güncelleştirirsiniz.

pActivateView Ve pDeactiveView parametreleri, uygulamanın ana çerçeve penceresi etkin görünümde hiçbir değişiklik olmadan etkinleştirilirse aynı görünüme işaret eder; örneğin, odak uygulama içindeki bir görünümden diğerine değil de başka bir uygulamadan bu uygulamaya aktarılıyorsa veya MDI alt pencereleri arasında geçiş yaparken. Bu, gerekirse görünümün paletini yeniden gerçekleştirmesini sağlar.

Bu parametreler, döndürüleceğinden farklı CFrameWnd::GetActiveView bir görünümle çağrıldığında CFrameWnd::SetActiveView farklılık gösterir. Bu durum en sık bölücü pencerelerde gerçekleşir.

CView::OnBeginPrinting

Bir baskı veya baskı önizleme işinin başında çerçeve tarafından çağrıldıktan sonra OnPreparePrinting çağrılır.

virtual void OnBeginPrinting(
    CDC* pDC,
    CPrintInfo* pInfo);

Parametreler

pDC
Yazıcı cihazı bağlamını gösterir.

pInfo
Geçerli yazdırma işini açıklayan bir CPrintInfo yapıya işaret eder.

Açıklamalar

Bu işlevin varsayılan uygulaması hiçbir şey yapmaz. Özel olarak yazdırma için gereken kalemler veya yazı tipleri gibi tüm GDI kaynaklarını ayırmak için bu işlevi geçersiz kılın. GDI nesnelerini kullanan her sayfanın üye işlevinin OnPrint içinden cihaz bağlamı içinde seçin. Hem ekran görüntüleme hem de yazdırma gerçekleştirmek için aynı görünüm nesnesini kullanıyorsanız, her ekran için gereken GDI kaynakları için ayrı değişkenler kullanın; bu, yazdırma sırasında ekranı güncelleştirmenizi sağlar.

Yazıcı cihazı bağlamının özelliklerine bağlı başlatmalar gerçekleştirmek için de bu işlevi kullanabilirsiniz. Örneğin, belgeyi yazdırmak için gereken sayfa sayısı, kullanıcının Yazdır iletişim kutusundan belirttiği ayarlara (sayfa uzunluğu gibi) bağlı olabilir. Böyle bir durumda, normalde bunu yaptığınız üye işlevinde OnPreparePrinting belge uzunluğunu belirtemezsiniz; iletişim kutusu ayarlarına göre yazıcı cihaz bağlamı oluşturulana kadar beklemeniz gerekir. OnBeginPrinting , yazıcı cihazı bağlamını temsil eden nesneye CDC erişmenizi sağlayan ilk geçersiz kılınabilir işlevdir, böylece belge uzunluğunu bu işlevden ayarlayabilirsiniz. Belge uzunluğu bu zamana kadar belirtilmezse, baskı önizleme sırasında kaydırma çubuğunun görüntülenmediğini unutmayın.

CView::OnDragEnter

Fare bırakma hedef penceresinin kaydırılmayan bölgesine ilk kez girdiğinde çerçeve tarafından çağrılır.

virtual DROPEFFECT OnDragEnter(
    COleDataObject* pDataObject,
    DWORD dwKeyState,
    CPoint point);

Parametreler

pDataObject
Görünümün COleDataObject bırakma alanına sürüklenen öğesini gösterir.

dwKeyState
Değiştirici anahtarların durumunu içerir. Bu, aşağıdaki sayılardan herhangi birinin birleşimidir: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, , MK_MBUTTONve MK_RBUTTON.

point
Görünümün istemci alanına göre geçerli fare konumu.

Dönüş Değeri

Kullanıcı nesneyi bu konumda bıraktığında oluşacak bırakma türünü gösteren numaralandırılmış türden bir değer DROPEFFECT . Bırakma türü genellikle tarafından dwKeyStatebelirtilen geçerli anahtar durumuna bağlıdır. Anahtar durumlarının değerlere DROPEFFECT standart eşlemesi:

  • DROPEFFECT_NONE Veri nesnesi bu pencerede bırakılamaz.

  • DROPEFFECT_LINK için MK_CONTROL|MK_SHIFT Nesnesi ile sunucusu arasında bir bağlantı oluşturur.

  • DROPEFFECT_COPY için MK_CONTROL Bırakılan nesnenin bir kopyasını oluşturur.

  • DROPEFFECT_MOVE için MK_ALT Bırakılan nesnenin bir kopyasını oluşturur ve özgün nesneyi silin. Görünüm bu veri nesnesini kabul ettiğinde bu genellikle varsayılan bırakma efektidir.

Daha fazla bilgi için bkz. MFC Gelişmiş Kavramlar örneği OCLIENT.

Açıklamalar

Varsayılan uygulama hiçbir şey yapmamak ve döndürmektir DROPEFFECT_NONE.

Üye işleve gelecek çağrılara hazırlanmak OnDragOver için bu işlevi geçersiz kılın. Üye işlevinde daha sonra kullanmak OnDragOver üzere veri nesnesinden gereken tüm veriler şu anda alınmalıdır. Görünüm, kullanıcıya görsel geri bildirim sağlamak için şu anda güncelleştirilmelidir. Daha fazla bilgi için OLE sürükleme ve bırakma: Bırakma hedefi uygulama makalesine bakın.

CView::OnDragLeave

Fare bu pencere için geçerli bırakma alanının dışına taşındığında, sürükleme işlemi sırasında çerçeve tarafından çağrılır.

virtual void OnDragLeave();

Açıklamalar

Geçerli görünümün nesne sürüklenirken ve OnDragOver bırakılırken görsel kullanıcı geri bildirimlerini kaldırma gibi, veya çağrıları sırasında OnDragEnter yapılan eylemleri temizlemesi gerekiyorsa bu işlevi geçersiz kılın.

CView::OnDragOver

Fare bırakma hedef penceresinin üzerine taşındığında sürükleme işlemi sırasında çerçeve tarafından çağrılır.

virtual DROPEFFECT OnDragOver(
    COleDataObject* pDataObject,
    DWORD dwKeyState,
    CPoint point);

Parametreler

pDataObject
Bırakma hedefinin COleDataObject üzerine sürüklenen öğesini gösterir.

dwKeyState
Değiştirici anahtarların durumunu içerir. Bu, aşağıdaki sayılardan herhangi birinin birleşimidir: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, , MK_MBUTTONve MK_RBUTTON.

point
görünüm istemci alanına göre geçerli fare konumu.

Dönüş Değeri

Kullanıcı nesneyi bu konumda bıraktığında oluşacak bırakma türünü gösteren numaralandırılmış türden bir değer DROPEFFECT . Bırakma türü genellikle tarafından dwKeyStatebelirtilen geçerli anahtar durumuna bağlıdır. Anahtar durumlarının değerlere DROPEFFECT standart eşlemesi:

  • DROPEFFECT_NONE Veri nesnesi bu pencerede bırakılamaz.

  • DROPEFFECT_LINK için MK_CONTROL|MK_SHIFT Nesnesi ile sunucusu arasında bir bağlantı oluşturur.

  • DROPEFFECT_COPY için MK_CONTROL Bırakılan nesnenin bir kopyasını oluşturur.

  • DROPEFFECT_MOVE için MK_ALT Bırakılan nesnenin bir kopyasını oluşturur ve özgün nesneyi silin. Bu genellikle görünüm veri nesnesini kabul ettiğinde varsayılan bırakma efektidir.

Daha fazla bilgi için bkz. MFC Gelişmiş Kavramlar örneği OCLIENT.

Açıklamalar

Varsayılan uygulama hiçbir şey yapmamak ve döndürmektir DROPEFFECT_NONE.

Sürükleme işlemi sırasında kullanıcıya görsel geri bildirim sağlamak için bu işlevi geçersiz kılın. Bu işlev sürekli olarak çağrıldığından, içindeki tüm kodlar mümkün olduğunca iyileştirilmelidir. Daha fazla bilgi için OLE sürükleme ve bırakma: Bırakma hedefi uygulama makalesine bakın.

CView::OnDragScroll

Çağırmadan OnDragEnter önce veya OnDragOver noktanın kaydırma bölgesinde olup olmadığını belirlemek için çerçeve tarafından çağrılır.

virtual DROPEFFECT OnDragScroll(
    DWORD dwKeyState,
    CPoint point);

Parametreler

dwKeyState
Değiştirici anahtarların durumunu içerir. Bu, aşağıdaki sayılardan herhangi birinin birleşimidir: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, , MK_MBUTTONve MK_RBUTTON.

point
İmlecin ekrana göre piksel cinsinden konumunu içerir.

Dönüş Değeri

Kullanıcı nesneyi bu konumda bıraktığında oluşacak bırakma türünü gösteren numaralandırılmış türden bir değer DROPEFFECT . Bırakma türü genellikle tarafından dwKeyStatebelirtilen geçerli anahtar durumuna bağlıdır. Anahtar durumlarının değerlere DROPEFFECT standart eşlemesi:

  • DROPEFFECT_NONE Veri nesnesi bu pencerede bırakılamaz.

  • DROPEFFECT_LINK için MK_CONTROL|MK_SHIFT Nesnesi ile sunucusu arasında bir bağlantı oluşturur.

  • DROPEFFECT_COPY için MK_CONTROL Bırakılan nesnenin bir kopyasını oluşturur.

  • DROPEFFECT_MOVE için MK_ALT Bırakılan nesnenin bir kopyasını oluşturur ve özgün nesneyi silin.

  • DROPEFFECT_SCROLL Sürükleme kaydırma işleminin gerçekleşmek üzere olduğunu veya hedef görünümde oluştuğunu gösterir.

Daha fazla bilgi için bkz. MFC Gelişmiş Kavramlar örneği OCLIENT.

Açıklamalar

Bu olay için özel davranış sağlamak istediğinizde bu işlevi geçersiz kılın. İmleç her pencerenin kenarlığı içindeki varsayılan kaydırma bölgesine sürüklendiğinde varsayılan uygulama pencereleri otomatik olarak kaydırıyor. Daha fazla bilgi için OLE sürükleme ve bırakma: Bırakma hedefi uygulama makalesine bakın.

CView::OnDraw

Belgenin görüntüsünü işlemek için çerçeve tarafından çağrılır.

virtual void OnDraw(CDC* pDC) = 0;

Parametreler

pDC
Belgenin görüntüsünü işlemek için kullanılacak cihaz bağlamını gösterir.

Açıklamalar

Çerçeve ekran görüntüleme, yazdırma ve baskı önizleme gerçekleştirmek için bu işlevi çağırır ve her durumda farklı bir cihaz bağlamı geçirir. Varsayılan uygulama yoktur.

Belge görünümünüzü görüntülemek için bu işlevi geçersiz kılmalısınız. parametresi tarafından işaret edilen nesneyi kullanarak CDC grafik cihaz arabirimi (GDI) çağrıları pDC yapabilirsiniz. Çizmeden önce cihaz bağlamında kalemler veya yazı tipleri gibi GDI kaynaklarını seçebilir ve daha sonra bunların seçimini kaldırabilirsiniz. Çizim kodunuz genellikle cihazdan bağımsız olabilir; başka bir ifadeyle, görüntüyü görüntüleyen cihaz türü hakkında bilgi gerektirmez.

Çizimi iyileştirmek için, belirli bir dikdörtgenin RectVisible çizilip çizilmeyeceğini öğrenmek için cihaz bağlamının üye işlevini çağırın. Normal ekran görüntüsü ve yazdırma arasında ayrım yapmanız gerekiyorsa, cihaz bağlamının IsPrinting üye işlevini çağırın.

CView::OnDrop

Kullanıcı geçerli bir bırakma hedefi üzerinden bir veri nesnesi serbest bıraktığında çerçeve tarafından çağrılır.

virtual BOOL OnDrop(
    COleDataObject* pDataObject,
    DROPEFFECT dropEffect,
    CPoint point);

Parametreler

pDataObject
Bırakma hedefine COleDataObject bırakılan öğesini gösterir.

dropEffect
Kullanıcının istediği bırakma efekti.

  • DROPEFFECT_COPY Bırakılan veri nesnesinin bir kopyasını oluşturur.

  • DROPEFFECT_MOVE Veri nesnesini geçerli fare konumuna taşır.

  • DROPEFFECT_LINK Veri nesnesi ile sunucusu arasında bir bağlantı oluşturur.

point
görünüm istemci alanına göre geçerli fare konumu.

Dönüş Değeri

Bırakma başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Varsayılan uygulama hiçbir şey yapmaz ve döndürür FALSE.

Bir OLE bırakma işleminin görünümün istemci alanına etkisini uygulamak için bu işlevi geçersiz kılın. Veri nesnesi, Pano veri biçimleri ve belirtilen noktada bırakılan veriler için aracılığıyla pDataObject incelenebilir.

Not

Bu görünüm sınıfında için bir geçersiz kılma OnDropEx varsa, çerçeve bu işlevi çağırmaz.

CView::OnDropEx

Kullanıcı geçerli bir bırakma hedefi üzerinden bir veri nesnesi serbest bıraktığında çerçeve tarafından çağrılır.

virtual DROPEFFECT OnDropEx(
    COleDataObject* pDataObject,
    DROPEFFECT dropDefault,
    DROPEFFECT dropList,
    CPoint point);

Parametreler

pDataObject
Bırakma hedefine COleDataObject bırakılan öğesini gösterir.

dropDefault
Kullanıcının geçerli anahtar durumuna göre varsayılan bırakma işlemi için seçtiği etki. Olabilir DROPEFFECT_NONE. Bırakma efektleri Açıklamalar bölümünde ele alınıyor.

dropList
Bırakma kaynağının desteklediği bırakma efektlerinin listesi. Bırakma efekti değerleri bit düzeyinde OR ( |) işlemi kullanılarak birleştirilebilir. Bırakma efektleri Açıklamalar bölümünde ele alınıyor.

point
görünüm istemci alanına göre geçerli fare konumu.

Dönüş Değeri

tarafından pointbelirtilen konumda bırakma denemesinden kaynaklanan bırakma efekti. Bu, tarafından dropEffectListbelirtilen değerlerden biri olmalıdır. Bırakma efektleri Açıklamalar bölümünde ele alınıyor.

Açıklamalar

Varsayılan uygulama hiçbir şey yapmak ve çerçevenin işleyiciyi çağırması gerektiğini belirtmek için bir sahte değer ( -1 ) döndürmektir OnDrop .

Sağ fare düğmesi sürükle ve bırak efektini uygulamak için bu işlevi geçersiz kılın. Sağ fare düğmesi sürükle ve bırak seçeneği genellikle sağ fare düğmesi serbest bırakıldığında bir seçenek menüsü görüntüler.

geçersiz kılma OnDropEx işleminiz sağ fare düğmesini sorgulamalıdır. İşleyicinizden sağ fare düğmesi durumunu çağırabilir GetKeyState veya depolayabilirsiniz OnDragEnter .

  • Sağ fare düğmesi çalışmıyorsa, geçersiz kılma işleminizde bırakma kaynağı tarafından açılan efekt desteği sunan bir açılır menü görüntülenmelidir.

    • Bırakma kaynağı tarafından desteklenen bırakma efektlerini belirlemek için inceleyin dropList . Açılır menüde yalnızca bu eylemleri etkinleştirin.

    • varsayılan eylemini temel alarak dropDefaultayarlamak için kullanınSetMenuDefaultItem.

    • Son olarak, açılır menüden kullanıcı seçimiyle belirtilen eylemi gerçekleştirin.

  • Sağ fare düğmesi çalışmıyorsa, geçersiz kılmanız bunu standart bir bırakma isteği olarak işlemelidir. içinde dropDefaultbelirtilen bırakma efektini kullanın. Alternatif olarak, geçersiz kılmanız bu bırakma işleminin işleneceğini belirtmek OnDrop için sahte değeri (-1) döndürebilir.

Pano veri biçimini ve belirtilen noktaya bırakılan verileri incelemek COleDataObject için kullanınpDataObject.

Bırakma efektleri, bırakma işlemiyle ilişkili eylemi açıklar. Aşağıdaki bırakma efektleri listesine bakın:

  • DROPEFFECT_NONE Bırakmalara izin verilmez.

  • DROPEFFECT_COPY Kopyalama işlemi gerçekleştirilir.

  • DROPEFFECT_MOVE Taşıma işlemi gerçekleştirilir.

  • DROPEFFECT_LINK Bırakılan verilerden özgün verilere bir bağlantı kurulacaktı.

  • DROPEFFECT_SCROLL Sürükleme kaydırma işleminin gerçekleşmek üzere olduğunu veya hedefte oluştuğunu gösterir.

Varsayılan menü komutunu ayarlama hakkında daha fazla bilgi için bkz SetMenuDefaultItem . Windows SDK'sında ve CMenu::GetSafeHmenu bu birimde.

CView::OnEndPrinting

Belge yazdırıldıktan veya önizlemesi yapıldıktan sonra çerçeve tarafından çağrılır.

virtual void OnEndPrinting(
    CDC* pDC,
    CPrintInfo* pInfo);

Parametreler

pDC
Yazıcı cihazı bağlamını gösterir.

pInfo
Geçerli yazdırma işini açıklayan bir CPrintInfo yapıya işaret eder.

Açıklamalar

Bu işlevin varsayılan uygulaması hiçbir şey yapmaz. Üye işlevinde OnBeginPrinting ayırdığınız tüm GDI kaynaklarını boşaltmak için bu işlevi geçersiz kılın.

CView::OnEndPrintPreview

Kullanıcı baskı önizleme modundan çıktığında çerçeve tarafından çağrılır.

virtual void OnEndPrintPreview(
    CDC* pDC,
    CPrintInfo* pInfo,
    POINT point,
    CPreviewView* pView);

Parametreler

pDC
Yazıcı cihazı bağlamını gösterir.

pInfo
Geçerli yazdırma işini açıklayan bir CPrintInfo yapıya işaret eder.

point
Sayfada en son önizleme modunda görüntülenen noktayı belirtir.

pView
Önizleme için kullanılan görünüm nesnesine işaret ediyor.

Açıklamalar

Bu işlevin varsayılan uygulaması üye işlevini çağırır OnEndPrinting ve ana çerçeve penceresini baskı önizleme başlamadan önceki durumuna geri yükler. Önizleme modu sonlandırıldığında özel işlem gerçekleştirmek için bu işlevi geçersiz kılın. Örneğin, önizleme modundan normal görüntüleme moduna geçerken kullanıcının belgedeki konumunu korumak istiyorsanız, parametre tarafından açıklanan konuma ve m_nCurPage parametrenin point işaret ettiği yapı üyesine CPrintInfo pInfo kaydırabilirsiniz.

Genellikle işlevin sonunda, her zaman geçersiz kılmanızdan temel sınıf sürümünü OnEndPrintPreview çağırın.

CView::OnInitialUpdate

Görünüm ilk kez belgeye eklendikten sonra, ancak görünüm ilk kez görüntülenmeden önce çerçeve tarafından çağrılır.

virtual void OnInitialUpdate();

Açıklamalar

Bu işlevin varsayılan uygulaması, üye işlevini ipucu bilgisi olmadan (parametre ve NULL pHint parametre için lHint varsayılan 0 değerlerini kullanarak) çağırırOnUpdate. Belge hakkında bilgi gerektiren tek seferlik başlatmaları gerçekleştirmek için bu işlevi geçersiz kılın. Örneğin, uygulamanızda sabit boyutlu belgeler varsa, belge boyutuna göre bir görünümün kaydırma sınırlarını başlatmak için bu işlevi kullanabilirsiniz. Uygulamanız değişken boyutlu belgeleri destekliyorsa, belge her değiştiğinde kaydırma sınırlarını güncelleştirmek için kullanın OnUpdate .

CView::OnPrepareDC

Ekran görüntüsü için üye işlevi çağrılmadan önce ve yazdırma veya baskı önizleme sırasında üye işlevi her sayfa için çağrılmadan önce OnDraw OnPrint çerçeve tarafından çağrılır.

virtual void OnPrepareDC(
    CDC* pDC,
    CPrintInfo* pInfo = NULL);

Parametreler

pDC
Belgenin görüntüsünü işlemek için kullanılacak cihaz bağlamını gösterir.

pInfo
Yazdırma veya baskı önizleme için çağrılan geçerli yazdırma işini OnPrepareDC açıklayan bir CPrintInfo yapıya işaret eder; m_nCurPage üye yazdırılmak üzere olan sayfayı belirtir. Bu parametre, NULL OnPrepareDC ekran görüntüsü için çağrılır.

Açıklamalar

Bu işlevin varsayılan uygulaması, işlev ekran görüntüsü için çağrılırsa hiçbir şey yapmaz. Ancak bu işlev, cihaz bağlamının özniteliklerini ayarlamak için gibi CScrollViewtüretilmiş sınıflarda geçersiz kılındı; sonuç olarak, her zaman geçersiz kılmanızın başında temel sınıf uygulamasını çağırmanız gerekir.

İşlev yazdırma için çağrılırsa, varsayılan uygulama parametresinde pInfo depolanan sayfa bilgilerini inceler. Belgenin uzunluğu belirtilmemişse, OnPrepareDC belgenin bir sayfa uzunluğunda olduğunu varsayar ve bir sayfa yazdırıldıktan sonra yazdırma döngüsünü durdurur. işlevi, yapı FALSEüyesini olarak ayarlayarak m_bContinuePrinting yazdırma döngüsünü durdurur.

Aşağıdaki nedenlerden herhangi biri için geçersiz kılın OnPrepareDC :

  • Belirtilen sayfa için gerektiğinde cihaz bağlamının özniteliklerini ayarlamak için. Örneğin, cihaz bağlamının eşleme modunu veya diğer özelliklerini ayarlamanız gerekiyorsa, bunu bu işlevde yapın.

  • Yazdırma zamanı sayfalandırması gerçekleştirmek için. Normalde, üye işlevini kullanarak yazdırma başladığında belgenin OnPreparePrinting uzunluğunu belirtirsiniz. Ancak, belgenin ne kadar uzun olduğunu önceden bilmiyorsanız (örneğin, veritabanından belirsiz sayıda kayıt yazdırırken), belge yazdırılırken belgenin sonunu test etmek için geçersiz kılın OnPrepareDC . Yazdırılacak belge kalmadığında, yapı üyesini CPrintInfo olarak FALSEayarlayınm_bContinuePrinting.

  • Çıkış kodlarını sayfa sayfa yazıcıya göndermek için. 'den OnPrepareDCkaçış kodları göndermek için parametresinin Escape üye işlevini çağırın pDC .

Geçersiz kılmanızın başında temel sınıf sürümünü OnPrepareDC çağırın.

Örnek

void CMyView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
   CView::OnPrepareDC(pDC, pInfo);

   // If we are printing, set the mapmode and the window
   // extent properly, then set viewport extent. Use the
   // SetViewportOrg member function in the CDC class to
   // move the viewport origin to the center of the view.

   if (pDC->IsPrinting()) // Is the DC a printer DC.
   {
      CRect rect;
      GetClientRect(&rect);

      pDC->SetMapMode(MM_ISOTROPIC);
      CSize ptOldWinExt = pDC->SetWindowExt(1000, 1000);
      ASSERT(ptOldWinExt.cx != 0 && ptOldWinExt.cy != 0);
      CSize ptOldViewportExt = pDC->SetViewportExt(rect.Width(), -rect.Height());
      ASSERT(ptOldViewportExt.cx != 0 && ptOldViewportExt.cy != 0);
      CPoint ptOldOrigin = pDC->SetViewportOrg(rect.Width() / 2, rect.Height() / 2);
   }
}

CView::OnPreparePrinting

Belge yazdırılmadan veya önizlemeden önce çerçeve tarafından çağrılır.

virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);

Parametreler

pInfo
Geçerli yazdırma işini açıklayan bir CPrintInfo yapıya işaret eder.

Dönüş Değeri

Yazdırmaya başlamak için sıfır olmayan; Yazdırma işi iptal edildiyse 0.

Açıklamalar

Varsayılan uygulama hiçbir şey yapmaz.

Yazdırma ve baskı önizlemeyi etkinleştirmek için bu işlevi geçersiz kılmalısınız. DoPreparePrinting Üye işlevini çağırın, parametresini pInfo geçirin ve dönüş değerini döndürür; DoPreparePrinting Yazdır iletişim kutusunu görüntüler ve bir yazıcı cihazı bağlamı oluşturur. Yazdır iletişim kutusunu varsayılan değerlerden farklı değerlerle başlatmak istiyorsanız, üyelerine değerler atayın pInfo. Örneğin, belgenin uzunluğunu biliyorsanız, çağırmadan önce değerini SetMaxPage üye işlevine pInfo DoPreparePrintinggeçirin. Bu değer, Yazdır iletişim kutusunun Aralık bölümündeki To: kutusunda görüntülenir.

DoPreparePrinting önizleme işi için Yazdır iletişim kutusunu görüntülemez. Yazdırma işinin Yazdır iletişim kutusunu atlamak istiyorsanız, öğesinin üyesi olup olmadığını denetleyin ve sonra öğesini olarak geçirmeden DoPreparePrintingönce olarak ayarlayınTRUE; daha sonra olarak sıfırlayınFALSE.FALSE pInfo m_bPreview

Yazıcı cihazı bağlamını temsil eden nesneye CDC erişim gerektiren başlatmalar gerçekleştirmeniz gerekiyorsa (örneğin, belgenin uzunluğunu belirtmeden önce sayfa boyutunu bilmeniz gerekiyorsa), üye işlevini geçersiz kılın OnBeginPrinting .

parametresinin m_nNumPreviewPages veya m_strPageDesc üyelerinin pInfo değerini ayarlamak istiyorsanız, çağrısı DoPreparePrintingyaptıktan sonra bunu yapın. DoPreparePrinting Üye işlevi, uygulamanın içinde bulunan değere ayarlarm_nNumPreviewPages. INI dosyası ve varsayılan değerine ayarlarm_strPageDesc.

Örnek

Çerçevenin yazdır iletişim kutusunu görüntülemesi ve DoPreparePrinting sizin için bir yazıcı DC'sini oluşturması için geçersiz kılmayı geçersiz kılın OnPreparePrinting ve çağrısı yapın.

BOOL CMyEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
   return CEditView::DoPreparePrinting(pInfo);
}

Belgenin kaç sayfa içerdiğini biliyorsanız, çağrısından DoPreparePrintingönce içindeki OnPreparePrinting en yüksek sayfayı ayarlayın. Çerçeve, Yazdır iletişim kutusunun "hedef" kutusunda en fazla sayfa numarasını görüntüler.

BOOL CExampleView::OnPreparePrinting(CPrintInfo* pInfo)
{
   //The document has 2 pages.
   pInfo->SetMaxPage(2);
   return CView::DoPreparePrinting(pInfo);
}

CView::OnPrint

Belgenin bir sayfasını yazdırmak veya önizlemek için çerçeve tarafından çağrılır.

virtual void OnPrint(
    CDC* pDC,
    CPrintInfo* pInfo);

Parametreler

pDC
Yazıcı cihazı bağlamını gösterir.

pInfo
Geçerli yazdırma işini açıklayan bir CPrintInfo yapıya işaret eder.

Açıklamalar

Çerçeve, yazdırılmakta olan her sayfa için üye işlevi çağrıldıktan OnPrepareDC hemen sonra bu işlevi çağırır. Yazdırılmakta olan sayfa, yapının işaret eden pInfo üyesi CPrintInfo tarafından m_nCurPage belirtilir. Varsayılan uygulama üye işlevini çağırır OnDraw ve yazıcı cihazı bağlamını geçirir.

Aşağıdaki nedenlerden herhangi biri için bu işlevi geçersiz kılın:

  • Çok sayfalı belgelerin yazdırmasına izin vermek için. Belgenin yalnızca yazdırılmakta olan sayfaya karşılık gelen bölümünü işler. İşlemeyi gerçekleştirmek için kullanıyorsanız OnDraw , görünüm penceresi kaynağını belgenin yalnızca uygun bölümünün yazdırılacağı şekilde ayarlayabilirsiniz.

  • Yazdırılan görüntünün ekran görüntüsünden farklı görünmesini sağlamak için (yani, uygulamanız WYSIWYG değilse). Yazıcı cihaz bağlamını 'a OnDrawgeçirmek yerine, ekranda gösterilmeyen öznitelikleri kullanarak bir görüntüyü işlemek için cihaz bağlamını kullanın.

    Ekran görüntüsü için kullanmadığınız yazdırma için GDI kaynaklarına ihtiyacınız varsa, çizmeden önce bunları cihaz bağlamında seçin ve daha sonra bunların seçimini kaldırın. Bu GDI kaynakları içinde OnBeginPrinting ayrılıp içinde OnEndPrintingserbest bırakılmalıdır.

  • Üst bilgileri veya alt bilgileri uygulamak için. Yine de üzerinde yazdırabileceği alanı kısıtlayarak işlemeyi yapmak için kullanabilirsiniz OnDraw .

parametresinin m_rectDraw üyesinin pInfo sayfanın yazdırılabilir alanını mantıksal birimler halinde açıklandığını unutmayın.

öğesini geçersiz kılma işleminizde çağırmayınOnPrepareDC; çağırmadan önce çerçeve otomatik olarak çağırırOnPrintOnPrepareDC.OnPrint

Örnek

Geçersiz kılınan OnPrint bir işlevin iskeleti aşağıdadır:

void CMyView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
   UNREFERENCED_PARAMETER(pInfo);

   // Print headers and/or footers, if desired.
   // Find portion of document corresponding to pInfo->m_nCurPage.
   OnDraw(pDC);
}

Başka bir örnek için bkz CRichEditView::PrintInsideRect. .

CView::OnScroll

Kaydırmanın mümkün olup olmadığını belirlemek için çerçeve tarafından çağrılır.

virtual BOOL OnScroll(
    UINT nScrollCode,
    UINT nPos,
    BOOL bDoScroll = TRUE);

Parametreler

nScrollCode
Kullanıcının kaydırma isteğini gösteren bir kaydırma çubuğu kodu. Bu parametre iki bölümden oluşur: yatay olarak gerçekleşen kaydırma türünü belirleyen düşük sıralı bayt ve dikey olarak gerçekleşen kaydırma türünü belirleyen yüksek sıralı bir bayt:

  • SB_BOTTOM En alta kaydırıyor.

  • SB_LINEDOWN Bir satır aşağı kaydırır.

  • SB_LINEUP Bir satır yukarı kaydırıyor.

  • SB_PAGEDOWN Bir sayfa aşağı kaydırır.

  • SB_PAGEUP Bir sayfa yukarı kaydırıyor.

  • SB_THUMBTRACK Kaydırma kutusunu belirtilen konuma sürükler. Geçerli konum içinde nPosbelirtilir.

  • SB_TOP En üste kayar.

nPos
Kaydırma çubuğu kodu SB_THUMBTRACKise geçerli kaydırma kutusu konumunu içerir; aksi takdirde kullanılmaz. İlk kaydırma aralığına bağlı olarak, nPos negatif olabilir ve gerekirse bir'e int atılmalıdır.

bDoScroll
Belirtilen kaydırma eylemini gerçekten yapmanız gerekip gerekmediğini belirler. ise TRUEkaydırma gerçekleşmelidir; ise FALSEkaydırma gerçekleşmemelidir.

Dönüş Değeri

Ise TRUE ve görünüm gerçekten kaydırıldıysa bDoScroll sıfır olmayan değerini döndür, aksi takdirde 0 değerini döndürür. ise bDoScroll FALSE, kaydırmayı gerçekten yapmasanız bile döndürdüğünüz bDoScroll TRUEdeğeri döndürür.

Açıklamalar

Bir durumda bu işlev, görünüm bir kaydırma çubuğu iletisi aldığında olarak ayarlanmış TRUE çerçeve bDoScroll tarafından çağrılır. Bu durumda, görünümü kaydırmanız gerekir. Diğer bir durumda, kaydırma işlemi gerçekleşmeden önce bir OLE öğesi başlangıçta bırakma hedefinin otomatik kaydırma bölgesine sürüklendiğinde olarak ayarlanmış olarak çağrılır bDoScroll FALSE . Bu durumda, görünümü kaydırmamalısınız.

CView::OnScrollBy

Kullanıcı, bir OLE öğesini görünümün geçerli kenarlıklarına sürükleyerek veya dikey veya yatay kaydırma çubuklarını değiştirerek belgenin mevcut görünümünün dışındaki bir alanı görüntülediğinde çerçeve tarafından çağrılır.

virtual BOOL OnScrollBy(
    CSize sizeScroll,
    BOOL bDoScroll = TRUE);

Parametreler

sizeScroll
Yatay ve dikey olarak kaydırılan piksel sayısı.

bDoScroll
Görünümün kaydırılıp kaydırılmayacağını belirler. ise TRUEkaydırma gerçekleşir; ise FALSEkaydırma gerçekleşmez.

Dönüş Değeri

Görünüm kaydırılabiliyorsa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Türetilmiş sınıflarda bu yöntem görünümün kullanıcının istediği yönde kaydırılabilir olup olmadığını denetler ve gerekirse yeni bölgeyi güncelleştirir. Bu işlev, gerçek kaydırma isteğini gerçekleştirmek için ve CWnd::OnVScroll tarafından CWnd::OnHScroll otomatik olarak çağrılır.

Bu yöntemin varsayılan uygulaması görünümü değiştirmez, ancak çağrılmazsa görünüm türetilmiş bir CScrollViewsınıfta kaydırılmaz.

Belge genişliği veya yüksekliği 32767 pikseli aşıyorsa, geçersiz sizeScroll bir bağımsız değişkenle çağrıldığından OnScrollBy 32767'den sonra kaydırma başarısız olur.

CView::OnUpdate

Görünümün belgesi değiştirildikten sonra çerçeve tarafından çağrılır; bu işlev tarafından CDocument::UpdateAllViews çağrılır ve görünümün görünümünü bu değişiklikleri yansıtacak şekilde güncelleştirmesine olanak tanır.

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

Parametreler

pSender
Belgeyi değiştiren görünümü veya NULL tüm görünümlerin güncelleştirilip güncelleştirilmediğini gösterir.

lHint
Değişiklikler hakkında bilgi içerir.

pHint
Değişikliklerle ilgili bilgileri depolayarak bir nesneye işaret eder.

Açıklamalar

Varsayılan uygulaması tarafından da çağrılır OnInitialUpdate. Varsayılan uygulama, istemci alanının tamamını geçersiz kılır ve sonraki WM_PAINT ileti alındığında boyama için işaretlenir. Yalnızca belgenin değiştirilmiş bölümlerine eşlenen bölgeleri güncelleştirmek istiyorsanız bu işlevi geçersiz kılın. Bunu yapmak için ipucu parametrelerini kullanarak değişiklikler hakkında bilgi geçirmeniz gerekir.

kullanmak lHintiçin, genellikle bit maskesi veya numaralandırılmış bir tür olan özel ipucu değerlerini tanımlayın ve belgenin bu değerlerden birini geçirmesini sağlayın. kullanmak pHintiçin, öğesinden CObject bir ipucu sınıfı türetin ve belgenin bir ipucu nesnesine işaretçi geçirmesini sağlayın; geçersiz kılma sırasında OnUpdate, ipucu nesnesinin CObject::IsKindOf çalışma zamanı türünü belirlemek için üye işlevini kullanın.

Genellikle doğrudan öğesinden OnUpdateherhangi bir çizim gerçekleştirmemelisiniz. Bunun yerine, cihaz koordinatlarında güncelleştirme gerektiren alanı açıklayan dikdörtgeni belirleyin; bu dikdörtgeni öğesine CWnd::InvalidateRectgeçirin. Bu, bir WM_PAINT sonraki ileti alındığında boyamanın oluşmasına neden olur.

lHint 0 ve pHint iseNULL, belge genel bir güncelleştirme bildirimi göndermiştir. Bir görünüm genel bir güncelleştirme bildirimi alırsa veya ipuçlarının kodunu çözemezse, tüm istemci alanını geçersiz kılmalıdır.

Ayrıca bkz.

MFC Örneği MDIDOCVW
CWnd Sınıf
Hiyerarşi Grafiği
CWnd Sınıf
CFrameWnd Sınıf
CSplitterWnd Sınıf
CDC Sınıf
CDocTemplate Sınıf
CDocument Sınıf