เด็กและกรอบหน้าต่างชั้นการลงทะเบียน

โปรแกรมประยุกต์ MDI แบบทั่วไปต้องลงทะเบียนคลาสหน้าต่างที่สอง: หนึ่งสำหรับหน้าต่างของเฟรมและหนึ่งสำหรับ windows ของเด็ก ถ้าโปรแกรมประยุกต์สนับสนุนมากกว่าหนึ่งชนิดของเอกสาร (ตัวอย่างเช่น กระดาษคำนวณและแผนภูมิ), จะต้องลงทะเบียนคลาสหน้าต่างแต่ละชนิด.

โครงสร้างคลาสสำหรับหน้าต่างเฟรมคล้ายคลึงกับโครงสร้างของคลาสสำหรับหน้าต่างหลักในโปรแกรมประยุกต์ไม่ใช่ MDI โครงสร้างคลาสสำหรับ windows ลูก MDI ต่างเล็กน้อยจากโครงสร้างสำหรับ windows ลูก MDI ไม่ใช่โปรแกรมประยุกต์ที่เป็นดังนี้:

ตัวอย่างต่อไปนี้แสดงวิธีการลงทะเบียนเรียนของหน้าต่างเฟรมและเด็กของ Multipad.

BOOL WINAPI InitializeApplication() {WNDCLASS สุขา 
 
    / / ลงทะเบียนคลาหน้าต่างเฟรม 
 
    wc.style = 0 
    wc.lpfnWndProc = MPFrameWndProc (WNDPROC) 
    wc.cbClsExtra = 0 
    wc.cbWndExtra = 0 
    wc.hInstance = hInst 
    wc.hIcon = LoadIcon (hInst, IDMULTIPAD); 
    wc.hCursor = LoadCursor((HANDLE) NULL, IDC_ARROW); 
    wc.hbrBackground = (HBRUSH) (COLOR_APPWORKSPACE + 1); 
    wc.lpszMenuName = IDMULTIPAD 
    wc.lpszClassName = szFrame 
 
    if (!RegisterClass (แอมป์ สุขา)) ส่งกลับ FALSE 
 
    / / ลงทะเบียนคลาหน้าต่างลูก MDI 
 
    wc.lpfnWndProc = MPMDIChildWndProc (WNDPROC) 
    wc.hIcon = LoadIcon (hInst, IDNOTE); 
    wc.lpszMenuName = (LPCTSTR) NULL 
    wc.cbWndExtra = CBWNDEXTRA 
    wc.lpszClassName = szChild 
 
    if (!RegisterClass (& สุขา)) ส่งกลับ FALSE 
 
    ส่งกลับ TRUE 
} 

 

Index