Aracılığıyla paylaş


MFC Nesneleri Arasındaki İlişkiler

Uyarı

Microsoft Foundation Sınıfları (MFC) kitaplığına destek verilmeye devam ediliyor. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.

Belge/görünüm oluşturma işleminin perspektife alınmasına yardımcı olmak için çalışan bir program düşünün: belge, görünümü içeren çerçeve penceresi ve belgeyle ilişkilendirilmiş görünüm.

  • Belge, bu belgenin görünümlerinin listesini ve belgeyi oluşturan belge şablonunun işaretçisini tutar.

  • Görünüm, belgenin işaretçisini tutar ve ebeveyn çerçeve penceresinin alt öğesidir.

  • Belge çerçevesi penceresi, geçerli etkin görünümüne yönelik bir işaretçi tutar.

  • Belge şablonu, açık belgelerinin listesini tutar.

  • Uygulama, belge şablonlarının listesini tutar.

  • Windows, onlara ileti gönderebilmesi için tüm açık pencereleri izler.

Bu ilişkiler belge/görünüm oluşturma sırasında kurulur. Aşağıdaki tabloda, çalışan bir programdaki nesnelerin diğer nesnelere nasıl erişebileceği gösterilmektedir. Herhangi bir nesne , afxGetApp genel işlevini çağırarak uygulama nesnesine bir işaretçi alabilir.

Uygulamanızdaki Diğer Nesnelere Erişim Kazanma

Nesneden Diğer nesnelere erişme
Belge Belgenin görünüm listesine erişmek için GetFirstViewPosition ve GetNextView kullanın.

Belge şablonunu almak için GetDocTemplate'ı çağırın.
Görüntüle Belgeyi almak için GetDocument'ı arayın.

Çerçeve penceresini almak için GetParentFrame'i çağırın.
Belge çerçevesi penceresi Geçerli görünümü almak için GetActiveView'u çağırın.

Belgeyi geçerli görünüme eklemek için GetActiveDocument'ı çağırın.
MDI çerçeve penceresi Şu anda etkin olan CMDIChildWnd'ı almak için MDIGetActive'ı çağırın.

Genellikle, bir çerçeve penceresinin tek bir görünümü vardır, ancak bazen bölücü pencerelerde olduğu gibi aynı çerçeve penceresi birden çok görünüm içerir. Çerçeve penceresi, etkin olan görünümün işaretçisini tutar; başka bir görünüm etkinleştirildiğinde işaretçi güncelleştirilir.

Uyarı

Ana çerçeve penceresinin işaretçisi, uygulama nesnesinin m_pMainWnd üye değişkeninde depolanır. OnFileNew üye işlevinizin geçersiz kılmasında InitInstance'i çağırmak, sizin için CWinApp'ü ayarlar. OnFileNew çağrısı yapmazsanız, değişkenin değerini InitInstance kendiniz ayarlamanız gerekir. (Komut satırında /Embedding varsa SDI COM bileşeni (sunucu) uygulamaları değişkeni ayarlayamayabilir.) m_pMainWnd artık CWinThread yerine CWinApp sınıfının bir üyesi olduğunu unutmayın.

Ayrıca bakınız

Belge Şablonları ve Belge/Görünüm Oluşturma İşlemi
Belge Şablonu Oluşturma
Belge/Görünüm Oluşturma
Yeni Belgeler, Windows ve Görünümler Oluşturma