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
.
struct CCreateContext
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::Create
veCFrameWnd::LoadFrame
içindeCWnd::Create
olduğ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 birNULL
işaretçi geçirilebilir.gibi
CFrameWnd::OnCreateClient
CCreateContext
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 CCreateContext
daha fazla bilgi için bkz. MFC örneği VIEWEX.
Üst bilgi: afxext.h
Hiyerarşi Grafiği
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Create