ขั้นตอนของกล่องโต้ตอบ

กระบวนงานกล่องโต้ตอบคล้ายกับกระบวนงานหน้าต่างที่ระบบส่งข้อความเมื่อมีข้อมูลเพื่อให้กระบวนการหรืองานให้กระทำ แตกต่างจากกระบวนงานหน้าต่าง ขั้นตอนกล่องโต้ตอบไม่เคยเรียกฟังก์ชันDefWindowProc แทน จะส่งกลับค่าบูลีน' TRUE ถ้าดำเนินกับข้อความหรือ FALSE ถ้ายังไม่.

ทุกขั้นตอนการกล่องโต้ตอบมีแบบฟอร์มต่อไปนี้:

BOOL APIENTRY DlgProc (hwndDlg ข้อความ wParam, lParam) HWND hwndDlg 
ข้อความ UINT 
WPARAM wParam 
LPARAM lParam 
{สวิตช์ (ข้อความ) { / / cases วางข้อความที่นี่ 
 
        เริ่มต้น: ส่งกลับ FALSE 
    } 
} 

 

พารามิเตอร์ของกระบวนงานทำหน้าที่จุดประสงค์เดียวกันเช่นในกระบวนงานหน้าต่าง กับการรับหมายเลขอ้างอิงหน้าต่างของกล่องโต้ตอบพารามิเตอร์hwndDlg.

กระบวนงานที่กล่องโต้ตอบส่วนใหญ่การประมวลผลข้อความWM_INITDIALOGและข้อความในWM_COMMANDที่ส่ง โดยควบคุม แต่ประมวลผลข้อความอื่น ๆ บางอย่างถ้ามี ถ้ากระบวนการกล่องโต้ตอบการประมวลผลข้อความ มันต้องส่งกลับ FALSE เพื่อนำระบบการประมวลผลข้อความภายใน ข้อยกเว้นเฉพาะกฎนี้คือ ข้อความ WM_INITDIALOG ขั้นตอนในกล่องโต้ตอบต้องส่งกลับ TRUE เพื่อนำระบบการประมวลผลข้อความ WM_INITDIALOG เพิ่มเติม ในกรณีใด ๆ ขั้นตอนต้องไม่เรียกDefWindowProc.

Index