CMultiDocTemplate ( UINT nIDResource, CRuntimeClass * pDocClass, CRuntimeClass * pFrameClass, CRuntimeClass * pViewClass );
พารามิเตอร์
nIDResource
ระบุ ID ของทรัพยากรที่ใช้กับชนิดเอกสาร นี้อาจรวมถึงเมนู ไอคอน ตารางการเร่งความเร็ว และสายทรัพยากร?
ทรัพยากรของสายอักขระประกอบด้วยสตริงย่อยถึงเจ็ดที่คั่น ด้วยอักขระ '\n' ('\n' อักขระจำเป็นเป็นการยึดสถานที่ถ้าไม่รวมสตริงย่อย อย่างไรก็ตาม ต่อท้าย '\n' อักขระไม่จำเป็น); สตริงย่อยเหล่านี้อธิบายชนิดของเอกสาร สำหรับข้อมูลเกี่ยวกับสตริงย่อยที่ ให้ดูที่CDocTemplate::GetDocString ทรัพยากรสายนี้จะพบในแฟ้มทรัพยากรของโปรแกรมประยุกต์ ตัวอย่างเช่น
/ / MYCALCRC
STRINGTABLE โหลด DISCARDABLE
เริ่มต้น
nbsp IDR_SHEETTYPE "\nSheet\nWorksheet\nWorksheets (*.myc)\n.myc\n MyCalcSheet\nMyCalc แผ่น"
สิ้นสุด(&N)
หมายเหตุที่สตริเริ่มต้น ด้วยอักขระ '\n' นี่คือเนื่องจากสตริงย่อยที่แรกไม่ได้ใช้สำหรับโปรแกรมประยุกต์ MDI และอื่น ๆ ไม่รวม คุณสามารถแก้ไขข้อความนี้โดยใช้ตัวแก้ไขสายอักขระ สายอักขระทั้งหมดปรากฏเป็นรายการเดียวในสตริงที่ Editor ไม่เป็นรายการแยกต่างหากที่เจ็ด?
ดูข้อมูลเพิ่มเติมเกี่ยวกับชนิดทรัพยากรเหล่านี้ Editors ทรัพยากรในVisual c ++คู่มือผู้ใช้?
pDocClass
ชี้ไปวัตถุCRuntimeClassของคลาสเอกสาร คลาสนี้เป็นการCDocument-คลาสที่คุณกำหนดเพื่อแสดงเอกสารของคุณที่ได้รับมา?
pFrameClass
จุดไปยังวัตถุCRuntimeClassของเฟรมหน้าต่างชั้น คลาสนี้ได้CMDIChildWnd-มาคลาส หรืออาจเป็นCMDIChildWndตัวเองถ้าคุณต้องการทำงานเริ่มต้นสำหรับเอกสารกรอบหน้าต่าง?
pViewClass
ชี้ไปวัตถุCRuntimeClassของมุมมองคลา คลาสนี้เป็นการCView-คลาสที่คุณกำหนดเพื่อแสดงเอกสารของคุณที่ได้รับมา?
หมายเหตุ
โครงสร้างวัตถุCMultiDocTemplate การปันส่วนหนึ่งCMultiDocTemplateวัตถุแบบไดนามิกสำหรับแต่ละชนิดเอกสารที่โปรแกรมประยุกต์ของคุณสนับสนุน และผ่านแต่ละตัวเพื่อCWinApp::AddDocTemplateจาก การ InitInstance
ฟังก์ชันสมาชิกของคลาสโปรแกรมประยุกต์ของคุณ?
ตัวอย่าง
//example สำหรับ CMultiDocTemplate
BOOL CMyApp::InitInstance()
{
nbsp // ...
/ / สร้างชนิดเอกสารทั้งหมด
/ / ได้รับการสนับสนุน โดยโปรแกรมประยุกต์
AddDocTemplate (ใหม่ CMultiDocTemplate (IDR_SHEETTYPE
RUNTIME_CLASS (CSheetDoc),
RUNTIME_CLASS (CMDIChildWnd),
RUNTIME_CLASS (CSheetView)));
AddDocTemplate (ใหม่ CMultiDocTemplate (IDR_NOTETYPE
RUNTIME_CLASS (CNoteDoc),
RUNTIME_CLASS (CMDIChildWnd),
RUNTIME_CLASS (CNoteView)));
// ...
}(&N)
ภาพรวม CMultiDocTemplate |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)
ดูเพิ่มเติมnbspCDocTemplate::GetDocString, CWinApp::AddDocTemplate, CWinApp::InitInstance, CRuntimeClass(&N)