Bagikan melalui


Struktur CCreateContext

Kerangka kerja menggunakan CCreateContext struktur saat membuat jendela bingkai dan tampilan yang terkait dengan dokumen.

Sintaks

struct CCreateContext

Keterangan

CCreateContext adalah struktur dan tidak memiliki kelas dasar.

Saat Anda membuat jendela, nilai dalam struktur ini menyediakan informasi yang digunakan untuk menyambungkan komponen dokumen ke tampilan datanya. Anda hanya perlu menggunakan CCreateContext jika Anda mengambil alih bagian dari proses pembuatan.

Struktur CCreateContext berisi penunjuk ke dokumen, jendela bingkai, tampilan, dan templat dokumen. Ini juga berisi penunjuk ke yang CRuntimeClass mengidentifikasi jenis tampilan yang akan dibuat. Informasi kelas run-time dan penunjuk dokumen saat ini digunakan untuk membuat tampilan baru secara dinamis. Tabel berikut ini menyarankan bagaimana dan kapan setiap CCreateContext anggota dapat digunakan:

Anggota Jenis Untuk apa itu
m_pNewViewClass CRuntimeClass* CRuntimeClass dari tampilan baru yang akan dibuat.
m_pCurrentDoc CDocument* Dokumen yang sudah ada untuk dikaitkan dengan tampilan baru.
m_pNewDocTemplate CDocTemplate* Templat dokumen yang terkait dengan pembuatan jendela bingkai MDI baru.
m_pLastView CView* Tampilan asli tempat tampilan tambahan dimodelkan, seperti dalam pembuatan tampilan jendela pemisah atau pembuatan tampilan kedua pada dokumen.
m_pCurrentFrame CFrameWnd* Jendela bingkai tempat jendela bingkai tambahan dimodelkan, seperti dalam pembuatan jendela bingkai kedua pada dokumen.

Saat templat dokumen membuat dokumen dan komponen terkait, templat dokumen tersebut memvalidasi informasi yang disimpan dalam CCreateContext struktur. Misalnya, tampilan tidak boleh dibuat untuk dokumen yang tidak ada.

Catatan

Semua pointer di CCreateContext bersifat opsional dan dapat jika NULL tidak ditentukan atau tidak diketahui.

CCreateContext digunakan oleh fungsi anggota yang tercantum di bawah "Lihat Juga." Lihat deskripsi fungsi-fungsi ini untuk informasi tertentu jika Anda berencana untuk mengambil alihnya.

Berikut adalah beberapa panduan umum:

  • Ketika diteruskan sebagai argumen untuk pembuatan jendela, seperti dalam CWnd::Create, CFrameWnd::Create, dan CFrameWnd::LoadFrame, konteks buat menentukan apa jendela baru harus disambungkan. Untuk sebagian besar jendela, seluruh struktur bersifat opsional dan NULL penunjuk dapat diteruskan.

  • Untuk fungsi anggota yang dapat diambil alih, seperti CFrameWnd::OnCreateClient, CCreateContext argumen bersifat opsional.

  • Untuk fungsi anggota yang terlibat dalam pembuatan tampilan, Anda harus memberikan informasi yang cukup untuk membuat tampilan. Misalnya, untuk tampilan pertama di jendela pemisah, Anda harus menyediakan informasi kelas tampilan dan dokumen saat ini.

Secara umum, jika Anda menggunakan default kerangka kerja, Anda dapat mengabaikan CCreateContext. Jika Anda mencoba modifikasi yang lebih canggih, kode sumber Pustaka Kelas Microsoft Foundation atau program sampel, seperti VIEWEX, akan memandu Anda. Jika Anda lupa parameter yang diperlukan, pernyataan kerangka kerja akan memberi tahu Anda apa yang Anda lupakan.

Untuk informasi selengkapnya tentang CCreateContext, lihat sampel MFC VIEWEX.

Persyaratan

Header: afxext.h

Baca juga

Bagan Hierarki
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Create