CHOOSECOLOR

המבנה CHOOSECOLOR מכיל מידע שהפונקציה ChooseColor משתמשת כדי לאתחל את תיבת הדו-שיח צבעים נפוצים. לאחר שהמשתמש יסגור את תיבת הדו-שיח, המערכת מחזירה מידע אודות הבחירה של המשתמש במבנה זה.

typedef struct {/ / cc DWORD lStructSize; 
    HWND hwndOwner; 
    HWND hInstance; 
    COLORREF rgbResult; 
    COLORREF * lpCustColors; 
    DWORD דגלים; 
    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 אינו מוגדר, הצבע שנבחר בתחילה הוא שחור. אם המשתמש לוחץ על לחצן אישור, rgbResult מציין בחירת צבע של המשתמש.
lpCustColors
בתיבות מצביע למערך הערכים COLORREF 16 להכיל ערכים (RGB) אדום, ירוק, כחול עבור צבע מותאם אישית בתיבת הדו-שיח. אם המשתמש משנה צבעים אלה, המערכת מעדכנת את המערך עם ערכי RGB חדשים. כדי לשמר צבעים מותאמים אישית חדשים בין קריאות לפונקציה ChooseColor , עליך להקצות זיכרון סטטית עבור המערך.
דגלים
ערכת דגלי סיביות בהם באפשרותך להשתמש כדי לאתחל את תיבת הדו-שיח צבעים נפוצים. כאשר תיבת הדו-שיח חוזר, הגדרת דגלים אלה כדי לציין הקלט של המשתמש. חבר זה יכול להיות שילוב של הדגלים הבאים:
דגל משמעות
CC_ANYCOLOR גורמת לפתיחת תיבת הדו-שיח להציג את כל הצבעים הזמינים בערכת צבעים בסיסיים.
CC_ENABLEHOOK מאפשר את שגרת הוו חבר lpfnHook של מבנה זה. דגל זה משמש רק כדי לאתחל את תיבת הדו-שיח.
CC_ENABLETEMPLATE מציין החברים hInstance ו- lpTemplateName לציין תבנית בתיבת הדו-שיח כדי להשתמש במקום בתבנית ברירת המחדל. דגל זה משמש רק כדי לאתחל את תיבת הדו-שיח.
CC_ENABLETEMPLATEHANDLE מציין החבר hInstance מזהה בלוק נתונים המכיל את תבנית בתיבת הדו-שיח שנטענו מראש. המערכת מתעלמת חבר lpTemplateName אם דגל זה מצוין. דגל זה משמש רק כדי לאתחל את תיבת הדו-שיח.
CC_FULLOPEN גורמת לפתיחת תיבת הדו-שיח להציג את הפקדים נוספות המאפשרות למשתמש ליצור צבעים מותאמים אישית. אם דגל זה לא נקבעה, המשתמש חייב לחצו על לחצןהצבע קבעמותאם אישיתכדי להציג את פקדי צבע מותאם אישית .
CC_PREVENTFULLOPEN ביטול של לחצןצבעי הגדרהמותאמת אישית .
CC_RGBINIT גורמת לפתיחת תיבת הדו-שיח להשתמש בצבע שצוין בחבר rgbResult של הקטע הנבחר של צבעים.
CC_SHOWHELP גורמת לפתיחת תיבת הדו-שיח להציג את לחצן עזרה. החבר hwndOwner , עליך לציין החלון כדי לקבל את HELPMSGSTRING רשום הודעות בתיבת הדו-שיח השולח כאשר המשתמש לוחץ על לחצן עזרה.
CC_SOLIDCOLOR גורמת לפתיחת תיבת הדו-שיח להציג רק בצבעים מלאים בערכת צבעים בסיסיים.

lCustData
ציון נתונים המוגדרים על-ידי יישום המערכת עובר להליך הוו המזוהה על-ידי חבר lpfnHook . כאשר המערכת שולחת את הודעת WM_INITDIALOG ההליך הוו, פרמטר lParam של ההודעה הוא שמצביע למבנה CHOOSECOLOR צוין מתי נוצר בתיבת הדו-שיח. ההליך hook להשתמש במצביע זה כדי לקבל את הערך lCustData.
lpfnHook
מצביע CCHookProc לחבר שגרה אשר ניתן לעבד הודעות המיועד עבור תיבת הדו-שיח. אין התייחסות איבר זה אלא אם הדגל CC_ENABLEHOOK מוגדר חבר דגלים.
lpTemplateName
מצביע מחרוזת המסתיימת ב- null שמות משאבים תבנית בתיבת הדו-שיח במודול המזוהה על-ידי חבר hInstance . תבנית זו כתחליף עבור התבנית בתיבת הדו-שיח הרגילה. עבור משאבים בתיבת הדו-שיח ממוספרת, lpTemplateName עשוי להיות ערך המוחזר על-ידי מאקרו MAKEINTRESOURCE . אין התייחסות איבר זה אלא אם הדגל CC_ENABLETEMPLATE מוגדר חבר דגלים.

QuickInfo

nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:דורש גירסה 1.0 ואילך.
כותרת עליונה:להצהיר על commdlg.h.
Unicode:מוגדר כ- Unicode ומבני ANSI.

ראה גם

סקירה נפוצות על תיבת הדו-שיח ספריית, מבנים נפוצות של תיבת הדו-שיח, CCHookProc, ChooseColor, MAKEINTRESOURCE, WM_INITDIALOG