Aracılığıyla paylaş


CCreateContext Yapısı

Ç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.

Dekont

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::Createve CFrameWnd::LoadFrameiçinde CWnd::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 bir NULL işaretçi geçirilebilir.

  • gibi CFrameWnd::OnCreateClientCCreateContext geç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