Dikey belge/görünüm mimarisi
Tipik bir mfc uygulaması belge ve Görünüm eşlenirler. Belgede saklanan verileri ancak görünümü veri erişim ayrıcalıklı. Belge renk ayrımı görünümünden, depolama ve veri bakım, ekrandan ayırır.
Belge veri görünümünden erişmesini
Görünümü ile ya da kendi belgenin verilere erişen GetDocument işlev, belgeye veya bir C++ sınıf görünüm yaparak, bir işaretçi döndürür friend belge sınıfı. Görünümü, kendi verilerine erişim sonra çizmek veya aksi işlemek hazır olduğunda verileri elde etmek için kullanır.
Örneğin, görünümden 's OnDraw görünüm üye işlevi kullanan GetDocument belge işaretçi elde etmek. Sonra işaretçi erişmek için kullandığı bir CString belge veri üyesi. View dizesi geçen TextOut işlevi. Bu örnek kodu görmek için bkz: bir görünümde çizim.
Görüntülemek için kullanıcı girişi
Görünümü de kendi içinde fareyi tıklatarak seçimi veya veri düzenleme olarak yorumlayabilir. Benzer şekilde tuş vuruşlarını veri girişi veya düzenleme olarak yorumlayabilir. Kullanıcı türleri metin yöneten bir görünümde bir dize varsayalım. Belge için bir işaretçi alır ve bazı veri yapısında saklar belgeye yeni verileri geçirmek için işaretçiyi kullanır.
Aynı belgenin birden çok görünüm güncelleştiriliyor
Uygulamada aynı belgenin birden çok görünüm — bir metin düzenleyicisinde splitter penceresi gibi — görünümü belge ilk yeni verileri geçirir. Belgenin çağıran sonra UpdateAllViews , kendilerini yansıtan yeni verileri güncelleştirmek için belgenin tüm görünümler söyler üye işlevi. Bu görünümler eşitler.