CFrameWnd

คลาCFrameWndแสดงการทำงานของเอกสารเดี่ยวเทอร์ Windows (SDI) คาบหรือหน้าต่างแบบผุดขึ้นกรอบ พร้อม ด้วยสมาชิกสำหรับการจัดการหน้าต่าง?

เมื่อต้องการสร้างหน้าต่างเฟรมที่เป็นประโยชน์สำหรับโปรแกรมประยุกต์ของคุณ ชั้นที่สืบทอดมาจากCFrameWnd เพิ่มสมาชิกตัวแปรคลาสได้รับการจัดเก็บข้อมูลเฉพาะสำหรับโปรแกรมประยุกต์ของคุณ ทำข้อความจัดการฟังก์ชันสมาชิกและข้อความที่แมปในชั้นเรียนได้รับการระบุสิ่งที่เกิดขึ้นเมื่อข้อความจะถูกนำไปหน้าต่าง?

มีสามวิธีในการสร้างกรอบหน้าต่าง:

ก่อนที่คุณเรียกใช้ตัวสร้างหรือLoadFrameคุณต้องสร้างเฟรมหน้าต่างวัตถุบนกองใช้ตัวดำเนินการใหม่c ++ ก่อนที่จะสร้างการโทร คุณยังสามารถลงทะเบียนคลาหน้าต่าง ด้วยฟังก์ชันสากลAfxRegisterWndClassเพื่อตั้งค่าลักษณะไอคอนและคลาสสำหรับเฟรม?

ใช้ฟังก์ชันสร้างสมาชิกผ่านของเฟรมสร้างพารามิเตอร์เป็นอาร์กิวเมนต์ทันที?

LoadFrameต้องใช้อาร์กิวเมนต์ที่น้อยลงกว่าสร้างและแทน ดึงส่วนใหญ่ค่าเริ่มต้นมาจากทรัพยากร การรวมถึงเฟรมป้ายคำอธิบาย ไอคอน ตารางการเร่งความเร็ว และเมนู เพื่อที่สามารถเข้าถึงได้โดยLoadFrameทรัพยากรเหล่านี้ทั้งหมดต้องมี ID ทรัพยากรเดียวกัน (ตัวอย่างเช่นIDR_MAINFRAME)?

เมื่อวัตถุของCFrameWndประกอบด้วยมุมมองและเอกสาร มีสร้างทางอ้อม ด้วยกรอบแทนโดยตรงโดยโปรแกรมเมอร์ที่ วัตถุCDocTemplate orchestrates การสร้างเฟรม การสร้างมุมมองประกอบด้วย และการเชื่อมต่อของมุมมองไปยังเอกสารที่เหมาะสม พารามิเตอร์ของพารามิเตอร์CDocTemplateที่ระบุในCRuntimeClassของชั้นที่สามเกี่ยวข้อง (เอกสาร กรอบ และมุมมอง) วัตถุCRuntimeClassใช้โดยกรอบงานเพื่อสร้างเฟรมใหม่เมื่อระบุ โดยผู้ใช้ (เช่น โดยการใช้คำสั่งแฟ้มใหม่หรือหลายเอกสารติดต่อ (MDI) หน้าต่างใหม่สั่ง)?

-กรอบหน้าต่างชั้นมาจากCFrameWndต้องถูกประกาศด้วยDECLARE_DYNCREATEเพื่อให้กลไกการRUNTIME_CLASSข้างต้นในการทำงานอย่างถูกต้อง?

CFrameWndประกอบด้วยการเริ่มต้นใช้งานเพื่อทำหน้าที่ของหน้าต่างหลักในโปรแกรมประยุกต์ทั่วไปสำหรับ Windows:

ใช้ตัวดำเนินลบc ++ทำลายกรอบหน้าต่าง ใช้CWnd::DestroyWindowแทน การใช้งานCFrameWndของPostNcDestroyจะลบวัตถุ c ++เมื่อหน้าต่างถูกทำลาย เมื่อผู้ใช้ปิดหน้าต่างเฟรม ตัวจัดการOnCloseเริ่มต้นจะเรียกDestroyWindow?

ดูข้อมูลเพิ่มเติมบนCFrameWnd, หัวข้อหน้าต่างเฟรมin Visual c ++ Programmer ของรายการแนะนำ?

#รวม lt;afxwin.h>

สมาชิกของคลาส|nbsp คลาสพื้นฐาน| แผนภูมิของลำดับชั้น(&N)

ดูเพิ่มเติมnbspCWnd, CMDIFrameWnd, CMDIChildWnd, CView, CDocTemplate, CRuntimeClass(&N)

Index