CCreateContextไม่มีคลาสพื้นฐาน?
กรอบใช้โครงสร้างCCreateContextเมื่อมันสร้างกรอบ windows และมุมมองที่เกี่ยวข้องกับเอกสาร เมื่อต้องการสร้างหน้าต่าง ค่าในโครงสร้างนี้ให้ข้อมูลใช้คอมโพเนนต์ที่จัดทำเอกสารและมุมมองของข้อมูลของ การเชื่อมต่อ คุณจะต้องใช้CCreateContextถ้าคุณกำลังแทนที่ส่วนของกระบวนการสร้างเท่านั้น?
โครงสร้างของCCreateContextประกอบด้วยตัวชี้ไปยังเอกสาร หน้าต่างเฟรม มุมมอง และแม่แบบเอกสาร มันยังประกอบด้วยตัวชี้ไปยังCRuntimeClassที่ระบุชนิดของมุมมองในการสร้าง ข้อมูลเวลาทำงานคลาสและตัวชี้เอกสารปัจจุบันใช้ในการสร้างมุมมองใหม่แบบไดนามิก ตารางต่อไปนี้แนะนำวิธีการ และเมื่อแต่ละสมาชิกCCreateContextอาจใช้:
| สมาชิก | หน้าที่อะไร |
| m_pNewViewClass | CRuntimeClassของมุมมองใหม่เพื่อสร้าง? |
| m_pCurrentDoc | เอกสารที่มีอยู่จะเชื่อมโยงกับมุมมองใหม่? |
| m_pNewDocTemplate | แม่แบบเอกสารเกี่ยวข้องกับการสร้างกรอบหน้าต่าง MDI ใหม่? |
| m_pLastView | มุมมองต้นฉบับแบบขณะที่มุมมองเพิ่มเติมจะจำลอง เป็นในการสร้างมุมมองของหน้าต่างแยกหรือการสร้างมุมมองที่สองบนเอกสาร? |
| m_pCurrentFrame | กรอบหน้าต่างแบบไว้ที่ windows เพิ่มเติมเฟรมจะจำลอง เป็นในการสร้างหน้าต่างเฟรมที่สองบนเอกสาร? |
เมื่อสร้างแม่แบบเอกสารเอกสารและส่วนประกอบที่เกี่ยวข้อง มันตรวจสอบข้อมูลที่เก็บอยู่ในโครงสร้างแบบCCreateContext ตัวอย่างเช่น มุมมองควรไม่ถูกสร้างสำหรับเอกสารไม่มีอยู่?
หมายเหตุnbsp ที่ตัวชี้ในCCreateContextทั้งหมดก็ได้ และสามารถเป็นค่าว่างถ้าไม่ระบุ หรือไม่รู้จัก(&N)?
CCreateContextถูกใช้ โดยฟังก์ชันของสมาชิกที่อยู่ภายใต้ "เห็นยัง ดูคำอธิบายของฟังก์ชันเหล่านี้เฉพาะข้อมูลถ้าคุณวางแผนที่จะแทน?
นี่คือแนวทางทั่วไปบางอย่าง:
ทั่วไป ถ้าคุณใช้เป็นค่าเริ่มต้นของกรอบ คุณสามารถละเว้นCCreateContext ถ้าคุณพยายามปรับเปลี่ยนขั้นสูงเพิ่มเติม รหัส Microsoft Foundation Class ไลบรารีแหล่งข้อมูล หรือ โปรแกรมตัวอย่าง เช่น VIEWEX จะแนะนำคุณ ถ้าคุณลืมพารามิเตอร์จำเป็น การตรวจสอบเงื่อนไขการกรอบจะบอกสิ่งที่คุณลืม?
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับCCreateContextดูตัวอย่าง MFC VIEWEX?
#รวม lt;afxext.h>
ดูเพิ่มเติมnbspCFrameWnd::Create, CFrameWnd::LoadFrame, CFrameWnd::OnCreateClient, CSplitterWnd::Create, CSplitterWnd::CreateView, CWnd::Create(&N)