Aracılığıyla paylaş


Birden çok belge türleri, görünümler ve çerçeve pencereler

Bir belgeyi, kendi görünümü ve çerçeve penceresi arasında standart ilişki açıklanan Belge/görünümü oluşturma.Birçok uygulama tek bir görünümde belge ve belgenin başına yalnızca bir çerçeve penceresi (ama büyük olasılıkla birden çok açık belge türü) bir tek belge türünü destekler.Ancak, bazı uygulamalar, bir veya daha bu varsayılanları değiştirmeniz gerekebilir.

Hangi konu hakkında daha fazla bilgi edinmek istiyorsunuz?

  • Birden çok belge türleri

  • Birden çok görünüm

  • Birden çok çerçeve pencereler

  • Splitter pencereleri

Birden çok belge türleri

mfc uygulaması Sihirbazı tek belge sınıfı oluşturur.Ancak, bazı durumlarda, birden fazla belge türünü desteklemesi gerekebilir.Örneğin, uygulamanızın belgeleri, çalışma sayfalarını ve grafik gerekebilir.Her belge türü, belge sınıfı ve belki de kendi görünümü sınıfı tarafından temsil edilir.Kullanıcı yeni dosya komutunu seçtiğinde, framework desteklenen belge türleri listeleyen bir iletişim kutusu görüntüler.Daha sonra kullanıcı türü bir belge oluşturur.Her belge türü kendisine ait belge şablonu nesnesi tarafından yönetilir.

Ek belge sınıfları oluşturmak için bkz: bir sınıf ekleyerek.Seçim CDocument öğesinden türetilmeli ve istenen belge bilgileri sağlamak için sınıf türü.Sonra yeni sınıfın veri uygulamak.

Ek belge sınıfınızın hakkında bilmeniz framework izin vermek için ikinci bir çağrı ekleyin AddDocTemplate , application sınıfının InitInstance geçersiz kılar.Daha fazla bilgi için bkz: Belge şablonları.

Birden çok görünüm

Tek bir görünümde çok sayıda belge gerektirir ancak tek bir belge birden fazla görünüm desteklemek mümkündür.Birden çok görünüm uygulamak amacıyla, belge nesnesi, görünümler listesini tutar, ekleme ve kaldırma görünümleri üye işlevleri sağlar ve sağladığı UpdateAllViews üye işlevi birden çok görünüm belgenin veri ne zaman değiştiğini bilmek izin vermek için.

mfc aynı belge üzerinde birden çok görünüm gerektiren üç ortak kullanıcı arabirimleri destekler.Bu model şunlardır:

  • Aynı sınıfı, ayrı bir pencerede MDI belge Çerçeve her nesne görüntüle.

    Belge üzerinde ikinci bir çerçeve penceresi oluşturma desteği isteyebilirsiniz.Kullanıcı belgeyi aynı görünümle ikinci çerçeveyi açın ve sonra iki çerçeve belgenin farklı bölümlerini aynı anda görüntülemek için yeni pencere komutunu seçebilirsiniz.Framework ilk çerçeve penceresi ve belgeye iliştirilmiş görünüm çoğaltarak MDI uygulamaları için Pencere menüsünde Yeni Pencere komutunu destekler.

  • Aynı belge Çerçeve penceresi aynı sınıfta nesne görüntüle.

    Splitter pencereleri, belgenin birden çok farklı görünümlere tek belge penceresinin görünümünü alan bölün.Çerçeve aynı görünüm sınıfından birden çok görüntüleme nesnesi oluşturur.Daha fazla bilgi için bkz: Splitter pencereleri.

  • Tek kare penceresinde farklı sınıfların nesnelerini görüntüleyin.

    Bu modelde, bir çeşitlemesini splitter'ın birden çok görünüm tek çerçeve penceresi paylaşır.Görünümler, aynı belgeyi görüntülemek için farklı bir yol sağlayan her görünüm farklı sınıflardan oluşturulur.Örneğin, bir görünümü görüntülenirken diğer görünümü, anahat modunda gösterilir normal modda bir sözcük işleme belgesi gösterebilir.Splitter denetimi, kullanıcının boyutlarýný görünümler sağlar.

Aşağıdaki şekil, parçalara bölünmüş üç kullanıcı arabirimi modelleri yukarıda verildikleri sırayla a, b ve c gösterir.

Birden çok görünüm kullanıcı arabirimleri

Birden çok görünüm kullanıcı arabirimleri

Bu modeller, yeni pencere komutunu uygulayarak ve sınıf sağlayarak bir çerçeve sağlar CSplitterWnd, anlatıldığı gibi Splitter pencereleri.Bunlar sizin başlangıç noktası olarak kullanarak diğer modelleri uygulayabilirsiniz.Örnek programlar için farklı görünümler, çerçeve pencereler ve ayırıcılar, bkz: yapılandırmaları göstermek mfc Örnekleri.

Hakkında daha fazla bilgi için UpdateAllViews, sınıfına bakın CView , mfc başvuru ve örnek karalama.

Birden çok çerçeve pencereler

Aynı belge üzerinde ikinci bir çerçeve penceresi oluşturmak için MDI uygulamaları için Pencere menüsünde Yeni Pencere komutunu kullanabilirsiniz.İlk model şekil içinde daha fazla bilgi için bkz: Birden çok görünüm kullanıcı arabirimleri.

Splitter pencereleri

Splitter penceresinde pencere olduğu veya iki veya daha fazla kaydırılabilir bölmeye olabilir.Bir splitter denetimi (veya "bölme kutusu") kaydırma çubuklarını pencerede çerçeveye göreli bölmelerin boyutunu ayarlamak kullanıcı sağlar.Her bölme aynı belgenin bir görünümdür."Dinamik" Ayırıcılar aynı sınıftaki Şekil Kısım b'de gösterilen görünümlerdir Birden çok görünüm kullanıcı arabirimleri."Statik" Ayırıcılar görünümleri farklı sınıfları olabilir.Splitter pencereleri, her iki tür sınıfı tarafından desteklenen CSplitterWnd.

Görünümler, aynı sınıfın dinamik splitter pencereleri birden çok bölme at pencereyi Böl ve belgenin farklı kısımlarını görmek için farklı bölmelerin kaydırın önerirler.Kullanıcı ayrıca ek görünümler kaldırmak için pencere kaldýrmanýn.Splitter pencereleri eklenen örnek karalama bir örneğidir.Bu konu, dinamik splitter pencereleri oluşturma tekniği açıklar.Dinamik splitter penceresi Şekil Kısım b'de gösterilen Birden çok görünüm kullanıcı arabirimleri.

Birden çok, bölmeye penceresi her biri farklı bir amaç statik splitter pencereleri, farklı sınıfların görünümleri ile başlayın.Örneğin, Visual C++ bitmap Düzenleyicisi'nde, yan yana iki bölmeye görüntü penceresini gösterir.Sol bölmede, life-sized bir bit eşlem görüntüsünü görüntüler.Sağ bölmedeki yakınlaştırılmış veya büyütülmüş aynı bit eşlem görüntüsünü görüntüler."Göreli bölmelerin boyutunu değiştirmek için kullanıcı sürükleyerek bir ayırıcı çubukla" bölmeye ayrılır.Statik Bölümlendirici penceresi Şekil bölümü C'de gösterilen Birden çok görünüm kullanıcı arabirimleri.

Sınıf daha fazla bilgi için bkz: CSplitterWnd , mfc başvuru ve mfc Örnekleri.

Ayrıca bkz.

Kavramlar

Belge/mimari görünümü