CHOOSECOLOR

โครงสร้างของCHOOSECOLORประกอบด้วยข้อมูลฟังก์ชันChooseColorใช้เริ่มต้นกล่องโต้ตอบสีทั่วไป หลังจากผู้ใช้ปิดกล่องโต้ตอบ ระบบการส่งกลับข้อมูลเกี่ยวกับการเลือกของผู้ใช้ในโครงสร้างนี้.

typedef struct { / / สำเนาถึง DWORD lStructSize 
    HWND hwndOwner 
    HWND hInstance 
    COLORREF rgbResult 
    COLORREF * lpCustColors 
    DWORD Flags 
    LPARAM lCustData 
    LPCCHOOKPROC lpfnHook 
    LPCTSTR lpTemplateName 
} CHOOSECOLOR 

 

สมาชิก

lStructSize
ระบุความยาว ไบต์ โครงสร้าง.
hwndOwner
ระบุหน้าต่างที่เป็นเจ้าของกล่องโต้ตอบ สมาชิกนี้สามารถถูกหมายเลขอ้างอิงหน้าต่างที่ถูกต้องใด ๆ หรือสามารถเป็นค่า NULL ถ้ากล่องโต้ตอบได้ไม่มีเจ้าของ.
hInstance
หากถูกตั้งค่าสถานะ CC_ENABLETEMPLATEHANDLE ในสถานะสมาชิกhInstanceคือหมายเลขอ้างอิงของวัตถุของหน่วยความจำประกอบด้วยแม่แบบกล่องโต้ตอบ หากถูกตั้งค่าสถานะ CC_ENABLETEMPLATE, hInstanceระบุโมดูลที่ประกอบด้วยแบบกล่องโต้ตอบที่มีชื่อ โดยlpTemplateNameสมาชิก ถ้าทั้ง CC_ENABLETEMPLATEHANDLE และ CC_ENABLETEMPLATE ไม่ได้ถูกตั้งค่า สมาชิกนี้จะถูกละเว้น.
rgbResult
หากถูกตั้งค่าสถานะ CC_RGBINIT, rgbResultระบุสีที่เลือกเมื่อมีสร้างกล่องโต้ตอบการเริ่มต้นด้วย ถ้าค่าสีที่ระบุไม่ได้อยู่ระหว่างสี ระบบเลือกใกล้ที่สุดสีทึบพร้อมใช้งาน ถ้าrgbResultเป็นศูนย์ หรือไม่มีการตั้งค่า CC_RGBINIT เลือกเริ่มต้นด้วยสีเป็นสีดำ หากผู้ใช้คลิกที่ปุ่ม OK, rgbResultระบุการเลือกสีของผู้ใช้.
lpCustColors
ชี้ไปยังอาร์เรย์ของค่า COLORREF 16 ที่ประกอบด้วยสีแดง สีเขียว สีน้ำเงิน (RGB) ค่าสีกำหนดเอง กล่องในกล่องโต้ตอบ ถ้าผู้ใช้ปรับเปลี่ยนสีเหล่านี้ ระบบปรับปรุงอาร์เรย์ ด้วยค่า RGB ใหม่ การรักษาสีที่กำหนดเองใหม่ระหว่างการเรียกไปยังฟังก์ชันChooseColorคุณควรจัดสรรหน่วยความจำคงที่สำหรับอาร์เรย์.
ค่าสถานะ
ชุดของค่าสถานะบิตที่คุณสามารถใช้กล่องโต้ตอบสีทั่วไปการเตรียมใช้งาน เมื่อกล่องโต้ตอบส่งกลับ กำหนดค่าสถานะเหล่านี้เพื่อบ่งชี้ถึงการป้อนข้อมูลของผู้ใช้ สมาชิกนี้สามารถเป็นการรวมกันของค่าสถานะต่อไปนี้:
ค่าสถานะ ความหมาย
CC_ANYCOLOR ทำให้กล่องโต้ตอบจะแสดงสีที่มีอยู่ทั้งหมดในชุดของสีพื้นฐาน.
CC_ENABLEHOOK ทำให้ขั้นตอนของ hook ระบุไว้ในสมาชิกlpfnHookของโครงสร้างนี้ ธงนี้ใช้ในการเริ่มต้นกล่องโต้ตอบเท่านั้น.
CC_ENABLETEMPLATE บ่งชี้ว่า สมาชิกที่hInstanceและlpTemplateNameระบุแม่แบบกล่องโต้ตอบการใช้ในตำแหน่งของแม่แบบเริ่มต้น ธงนี้ใช้ในการเริ่มต้นกล่องโต้ตอบเท่านั้น.
CC_ENABLETEMPLATEHANDLE บ่งชี้ว่า สมาชิกhInstanceที่ระบุข้อมูลบล็อกที่ประกอบด้วยแม่แบบกล่องโต้ตอบที่มากมายใส่ไว้ ระบบละเว้นสมาชิกlpTemplateNameถ้ามีระบุค่าสถานะนี้ ธงนี้ใช้ในการเริ่มต้นกล่องโต้ตอบเท่านั้น.
CC_FULLOPEN ทำให้กล่องโต้ตอบเพื่อแสดงตัวควบคุมเพิ่มเติมที่อนุญาตให้ผู้ใช้สามารถสร้างสีที่กำหนดเอง ถ้าไม่มีการตั้งค่าสถานะนี้ ผู้ใช้ต้องคลิกกำหนด เอง สีปุ่มเพื่อแสดงตัวควบคุมสีที่กำหนดเอง.
CC_PREVENTFULLOPEN ปิดใช้งานปุ่มสีที่กำหนดเอง .
CC_RGBINIT ทำให้กล่องโต้ตอบการใช้สีระบุไว้ในสมาชิกrgbResultที่เป็นการเลือกสีเริ่มต้น.
CC_SHOWHELP ทำให้กล่องโต้ตอบเพื่อแสดงปุ่มวิธีใช้ สมาชิกhwndOwnerต้องระบุหน้าต่างไปHELPMSGSTRINGได้รับข้อความที่กล่องโต้ตอบการส่งเมื่อผู้ใช้คลิกที่ปุ่มวิธีใช้ที่ลงทะเบียน.
CC_SOLIDCOLOR ทำให้กล่องโต้ตอบเพื่อแสดงเฉพาะสีทึบในชุดของสีพื้นฐาน.

lCustData
ระบุข้อมูลที่โปรแกรมประยุกต์ที่กำหนดเองที่ระบบส่งผ่านไปยังขั้นตอนของ hook ที่ระบุ โดยสมาชิกlpfnHook เมื่อระบบส่งข้อความWM_INITDIALOGไปขั้นตอนของ hook พารามิเตอร์lParamของข้อความเป็นตัวชี้ไปยังโครงสร้างCHOOSECOLORระบุเมื่อสร้างการโต้ตอบ ขั้นตอนของ hook สามารถใช้การตั้งค่านี้ชี้เพื่อรับค่าlCustData.
lpfnHook
ชี้ไปCCHookProcของ hook กระบวนงานที่สามารถประมวลผลข้อความสำหรับกล่องโต้ตอบ สมาชิกนี้จะถูกละเว้นเว้นแต่ค่าสถานะ CC_ENABLEHOOK ถูกตั้งค่าในสถานะสมาชิก.
lpTemplateName
ตัวชี้เป็นสตริงที่สิ้นสุดด้วยค่า null ที่ชื่อทรัพยากรแม่แบบกล่องโต้ตอบในโมดูลที่ระบุ โดยhInstanceสมาชิก แม่แบบนี้ถูกแทนแม่แบบกล่องโต้ตอบมาตรฐาน สำหรับแหล่งข้อมูลของกล่องโต้ตอบหมายเลขlpTemplateNameได้ค่าส่งกลับ โดยแมโคMAKEINTRESOURCE สมาชิกนี้จะถูกละเว้นเว้นแต่ค่าสถานะ CC_ENABLETEMPLATE ถูกตั้งค่าในสถานะสมาชิก.

QuickInfo

nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน commdlg.h
Unicode:กำหนดเป็นโครงสร้างแบบ Unicode และ ANSI.

ดูเพิ่มเติม

ภาพรวมไลบรารีของกล่องโต้ตอบทั่วไปโครงสร้างกล่องโต้ตอบทั่วไป CCHookProc, ChooseColor, MAKEINTRESOURCE, WM_INITDIALOG