ข้อความ WM_INITDIALOG

ระบบไม่ส่งการWM_CREATEความลงในกระบวนงานของกล่องโต้ตอบ แทน ส่งข้อความWM_INITDIALOGเมื่อมันสร้างกล่องโต้ตอบและตัวควบคุมทั้งหมด แต่ ก่อนที่จะแสดงในกล่องโต้ตอบ กระบวนงานควรกระทำเตรียมใช้งานใด ๆ ที่จำเป็นเพื่อให้แน่ใจว่า กล่องโต้ตอบแสดงการตั้งค่าปัจจุบันที่เกี่ยวข้องกับคำสั่งหรืองาน ตัวอย่าง เมื่อกล่องโต้ตอบประกอบด้วยตัวควบคุมเพื่อแสดงไดรฟ์ปัจจุบันและไดเรกทอรี ขั้นตอนต้องตรวจสอบไดรฟ์ปัจจุบันและไดเรกทอรี และตั้งค่าตัวควบคุมค่านั้น.

กระบวนการสามารถเตรียมใช้งานตัวควบคุม โดยใช้ฟังก์ชันเช่นSetDlgItemTextและCheckDlgButton เนื่องจากตัวควบคุมเป็น windows กระบวนการสามารถยังจัดการรูป โดยการใช้ฟังก์ชันการจัดการหน้าต่างเช่นEnableWindowและSetFocus กระบวนงานสามารถเรียกหมายเลขอ้างอิงหน้าต่างสำหรับตัวควบคุม โดยใช้ฟังก์ชันGetDlgItem.

ขั้นตอนในกล่องโต้ตอบสามารถเปลี่ยนแปลงเนื้อหา สถานะ และตำแหน่งของตัวควบคุมใด ๆ ตามที่จำเป็น ตัวอย่าง ในกล่องโต้ตอบที่ประกอบด้วยกล่องรายการของชื่อแฟ้มและปุ่มเปิดแบบ ขั้นตอนสามารถปิดใช้งานปุ่มเปิดจนกว่าผู้ใช้เลือกแฟ้มจากรายการ ในตัวอย่างนี้ ต้นแบบกล่องโต้ตอบการระบุรูปแบบ WS_DISABLED สำหรับปุ่มเปิด และปิดการใช้ระบบอัตโนมัติงานปุ่มเมื่อสร้างนั้น เมื่อกระบวนการกล่องโต้ตอบการรับข้อความแจ้งเตือนจากกล่องรายการที่ระบุว่า ผู้ใช้ได้เลือกแฟ้ม วิธีการเรียกใช้ฟังก์ชันEnableWindowเพื่อเปิดใช้งานปุ่มเปิด.

เมื่อต้องการแสดงไอคอนที่กำหนดเองในแถบป้ายคำอธิบายของกล่องโต้ตอบ จัดการ WM_INITDIALOG ของคุณสามารถส่งข้อความ WM_SETICON ไปยังกล่องโต้ตอบ.

ถ้าแอพลิเคชันสร้างกล่องโต้ตอบ โดยใช้วิธีการใดวิธีการหนึ่งของฟังก์ชันDialogBoxParam, DialogBoxIndirectParam, CreateDialogParamหรือCreateDialogIndirectParam, lParamพารามิเตอร์สำหรับข้อความ WM_INITDIALOG ประกอบด้วยการเพิ่มพารามิเตอร์ที่ส่งผ่านไปยังฟังก์ชัน โปรแกรมประยุกต์ใช้พารามิเตอร์นี้พิเศษผ่านอยู่ที่เริ่มต้นเพิ่มเติมข้อมูลลงในกระบวนงานของกล่องโต้ตอบโดยทั่วไป แต่กระบวนการกล่องโต้ตอบต้องพิจารณาความหมายของพารามิเตอร์ ถ้าโปรแกรมประยุกต์จะใช้ฟังก์ชันอื่นเพื่อสร้างกล่องโต้ตอบ ระบบการตั้งค่าพารามิเตอร์lParamเป็น NULL.

ก่อนกลับมาจากข้อความWM_INITDIALOGกระบวนงานควรกำหนดว่า มันควรตั้งค่าโฟกัสการป้อนข้อมูลลงในตัวควบคุมที่กำหนด ถ้าขั้นตอนในกล่องโต้ตอบส่งกลับค่า TRUE ระบบตั้งโฟกัสป้อนข้อมูลโดยอัตโนมัติไปยังตัวควบคุมที่มีหมายเลขอ้างอิงหน้าต่างอยู่ในพารามิเตอร์wParam ถ้าตัวควบคุมที่ได้รับโฟกัสเริ่มต้นใช้งานไม่เหมาะสม มันสามารถตั้งโฟกัสไปตัวควบคุมที่เหมาะสม โดยใช้ฟังก์ชันSetFocus ถ้ากระบวนการตั้งโฟกัสป้อนข้อมูล มันต้องส่งกลับ FALSE เพื่อป้องกันไม่ให้ระบบโฟกัสเริ่มต้นการตั้งค่า ตัวควบคุมที่ได้รับค่าเริ่มต้นป้อนข้อมูลโฟกัสจะเสมอตัวควบคุมแรกในแบบที่มองเห็นได้ ไม่ปิดใช้งาน และมีลักษณะ WS_TABSTOP ถ้าควบคุมไม่อยู่ ระบบตั้งค่าเริ่มต้นสำหรับการป้อนค่าโฟกัสไปยังตัวควบคุมแรกในแม่แบบ.

Index