CMultiDocTemplate::CMultiDocTemplate

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)

Index