Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Çerçeve, bir belgeyle ilişkilendirilmiş çerçeve pencerelerini ve görünümlerini oluşturduğunda yapısını kullanır CCreateContext .
Sözdizimi
struct CCreateContext
Açıklamalar
CCreateContext bir yapıdır ve temel sınıfı yoktur.
Bir pencere oluşturduğunuzda, bu yapıdaki değerler bir belgenin bileşenlerini verilerinin görünümüne bağlamak için kullanılan bilgileri sağlar. Yalnızca oluşturma işleminin bölümlerini geçersiz kıldığınızda kullanmanız CCreateContext gerekir.
Yapı CCreateContext , belgenin, çerçeve penceresinin, görünümün ve belge şablonunun işaretçilerini içerir. Ayrıca, oluşturulacak görünüm türünü tanımlayan bir CRuntimeClass işaretçi içerir. Çalışma zamanı sınıf bilgileri ve geçerli belge işaretçisi, dinamik olarak yeni bir görünüm oluşturmak için kullanılır. Aşağıdaki tabloda, her CCreateContext üyenin nasıl ve ne zaman kullanılabileceğini göstermektedir:
| Üye | Tür | Bunun ne için olduğu |
|---|---|---|
m_pNewViewClass |
CRuntimeClass* |
CRuntimeClass öğesini seçin. |
m_pCurrentDoc |
CDocument* |
Yeni görünümle ilişkilendirilecek mevcut belge. |
m_pNewDocTemplate |
CDocTemplate* |
Yeni bir MDI çerçeve penceresi oluşturma işlemiyle ilişkili belge şablonu. |
m_pLastView |
CView* |
Bölücü pencere görünümlerinin oluşturulmasında veya belgede ikinci bir görünümün oluşturulmasında olduğu gibi, ek görünümlerin modellendiği özgün görünüm. |
m_pCurrentFrame |
CFrameWnd* |
Belge üzerinde ikinci bir çerçeve penceresi oluşturulurken olduğu gibi, ek çerçeve pencerelerinin modellendiği çerçeve penceresi. |
Belge şablonu bir belge ve ilişkili bileşenleri oluşturduğunda, yapıda CCreateContext depolanan bilgileri doğrular. Örneğin, var olmayan bir belge için görünüm oluşturulmamalıdır.
Not
içindeki CCreateContext tüm işaretçiler isteğe bağlıdır ve belirtilmemiş veya bilinmiyorsa olabilir NULL .
CCreateContext , "Ayrıca Bkz. " altında listelenen üye işlevleri tarafından kullanılır. Bunları geçersiz kılmayı planlıyorsanız, belirli bilgiler için bu işlevlerin açıklamalarına bakın.
Aşağıda birkaç genel yönerge bulabilirsiniz:
,
CFrameWnd::CreateveCFrameWnd::LoadFrameiçindeCWnd::Createolduğu gibi, pencere oluşturma için bağımsız değişken olarak geçirildiğinde, oluşturma bağlamı yeni pencerenin hangi pencereye bağlanması gerektiğini belirtir. Çoğu pencere için tüm yapı isteğe bağlıdır ve birNULLişaretçi geçirilebilir.gibi
CFrameWnd::OnCreateClientCCreateContextgeçersiz kılınabilir üye işlevleri için bağımsız değişken isteğe bağlıdır.Görünüm oluşturma işlemine katılan üye işlevleri için görünümü oluşturmak için yeterli bilgi sağlamanız gerekir. Örneğin, bölücü penceresindeki ilk görünüm için, görünüm sınıfı bilgilerini ve geçerli belgeyi sağlamanız gerekir.
Genel olarak, çerçeve varsayılanlarını kullanırsanız, yoksayabilirsiniz CCreateContext. Daha gelişmiş değişiklikler denerseniz, Microsoft Foundation Sınıf Kitaplığı kaynak kodu veya VIEWEX gibi örnek programlar size yol gösterir. Gerekli bir parametreyi unutursanız, bir çerçeve onayı size neyi unuttuğunu söyler.
hakkında CCreateContextdaha fazla bilgi için bkz. MFC örneği VIEWEX.
Gereksinimler
Üst bilgi: afxext.h
Ayrıca bkz.
Hiyerarşi Grafiği
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Create