กล่องโต้ตอบสีที่กำหนดเอง คุณสามารถใช้วิธีการต่อไป:
คุณสามารถปรับเปลี่ยนลักษณะปรากฏและลักษณะการทำงานของกล่องโต้ตอบสีโดยการตั้งค่าสถานะในสถานะสมาชิกของโครงสร้างCHOOSECOLOR ตัวอย่างเช่น คุณสามารถตั้งค่าการตั้งค่าสถานะ CC_SOLIDCOLOR เป็นทางตรงกล่องโต้ตอบเพื่อแสดงเฉพาะสีทึบ ทำให้กล่องโต้ตอบการเริ่มต้นด้วยเลือกสีอื่นที่ไม่ใช่สีดำ ตั้งค่าสถานะ CC_RGBINIT และระบุสีในสมาชิกrgbResult.
คุณสามารถให้แม่แบบกำหนดเองสำหรับกล่องโต้ตอบสีตัวอย่างเช่น ถ้าคุณต้องการรวมตัวควบคุมเพิ่มเติมที่มีลักษณะเฉพาะโปรแกรมประยุกต์ของคุณ ฟังก์ชันChooseColorใช้แม่แบบที่กำหนดเองของคุณในตำแหน่งของแม่แบบเริ่มต้น.
- หรือ -
คุณสามารถจัดเป็นขั้นตอนของ hook CCHookProcสำหรับกล่องโต้ตอบสี ขั้นตอนของ hook สามารถประมวลผลข้อความที่ส่งไปยังกล่องโต้ตอบ นอกจากนี้มันยังสามารถใช้ข้อความที่ลงทะเบียนเพื่อควบคุมลักษณะการทำงานของกล่องโต้ตอบ ถ้าคุณใช้แม่แบบแบบกำหนดเองเพื่อกำหนดตัวควบคุมเพิ่มเติม คุณต้องให้ในขั้นตอนของ hook ดำเนินการป้อนข้อมูลสำหรับตัวควบคุมของคุณ.
หลังจากการประมวลผลข้อความของWM_INITDIALOGขั้นตอนในกล่องโต้ตอบส่งข้อความ WM_INITDIALOG ไปในขั้นตอนของ hook พารามิเตอร์lParamของข้อความนี้เป็นตัวชี้การใช้กล่องโต้ตอบการเตรียมใช้งานโครงสร้างCHOOSECOLOR.
กล่องโต้ตอบการส่งข้อความCOLOROKSTRINGลงทะเบียนไปในขั้นตอนของ hook เมื่อผู้ใช้คลิกปุ่มตกลง ขั้นตอนของ hook สามารถปฏิเสธการเลือกสี และบังคับให้กล่องโต้ตอบการเปิดค้างอยู่นาน โดยคืนค่าเป็นศูนย์เมื่อได้รับข้อความนี้ ขั้นตอนของ hook สามารถบังคับให้กล่องโต้ตอบการเลือกสีเฉพาะ โดยการส่งข้อความSETRGBSTRINGลงทะเบียนไปยังกล่องโต้ตอบ การใช้ข้อความที่มีการลงทะเบียนเหล่านี้ คุณต้องส่งค่าคง COLOROKSTRING และ SETRGBSTRING ไปยังฟังก์ชันRegisterWindowMessageจะได้รับตัวระบุข้อความ คุณสามารถใช้ตัวระบุ การตรวจสอบ และประมวลผลข้อความที่ส่งจากกล่องโต้ตอบการ หรือส่งข้อความไปกล่องโต้ตอบ.