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 CView
iç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
.
CScrollView
Ayrıca, Microsoft Foundation Sınıf Kitaplığı' ndan CView
tü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. BirCEditView
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ı CPreviewView
tü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 CPreviewView
gerekmez. kullanma CView
hakkı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
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_MBUTTON
ve 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 dwKeyState
belirtilen 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çinMK_CONTROL|MK_SHIFT
Nesnesi ile sunucusu arasında bir bağlantı oluşturur.DROPEFFECT_COPY
içinMK_CONTROL
Bırakılan nesnenin bir kopyasını oluşturur.DROPEFFECT_MOVE
içinMK_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_MBUTTON
ve 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 dwKeyState
belirtilen 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çinMK_CONTROL|MK_SHIFT
Nesnesi ile sunucusu arasında bir bağlantı oluşturur.DROPEFFECT_COPY
içinMK_CONTROL
Bırakılan nesnenin bir kopyasını oluşturur.DROPEFFECT_MOVE
içinMK_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_MBUTTON
ve 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 dwKeyState
belirtilen 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çinMK_CONTROL|MK_SHIFT
Nesnesi ile sunucusu arasında bir bağlantı oluşturur.DROPEFFECT_COPY
içinMK_CONTROL
Bırakılan nesnenin bir kopyasını oluşturur.DROPEFFECT_MOVE
içinMK_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 point
belirtilen konumda bırakma denemesinden kaynaklanan bırakma efekti. Bu, tarafından dropEffectList
belirtilen 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
dropDefault
ayarlamak 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
dropDefault
belirtilen bırakma efektini kullanın. Alternatif olarak, geçersiz kılmanız bu bırakma işleminin işleneceğini belirtmekOnDrop
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 CScrollView
tü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ınOnPrepareDC
. Yazdırılacak belge kalmadığında, yapı üyesiniCPrintInfo
olarakFALSE
ayarlayınm_bContinuePrinting
.Çıkış kodlarını sayfa sayfa yazıcıya göndermek için. 'den
OnPrepareDC
kaçış kodları göndermek için parametresininEscape
üye işlevini çağırınpDC
.
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
DoPreparePrinting
geç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ı DoPreparePrinting
yaptı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
OnDraw
geç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çindeOnEndPrinting
serbest 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ırOnPrint
OnPrepareDC
.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çindenPos
belirtilir.SB_TOP
En üste kayar.
nPos
Kaydırma çubuğu kodu SB_THUMBTRACK
ise 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 TRUE
kaydırma gerçekleşmelidir; ise FALSE
kaydı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
TRUE
değ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 TRUE
kaydırma gerçekleşir; ise FALSE
kaydı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 CScrollView
sı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 lHint
iç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 pHint
iç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 OnUpdate
herhangi 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::InvalidateRect
geç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