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