פקדי תיבת דו-שיח

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

עבור כל פקד, מציין התבנית ערכים סגנון אשר מגדירים את המראה ואת אופן הפעולה של הפקד. לכל פקד חלון צאצא, ולכן חייבת להיות בסגנון WS_CHILD. כדי להבטיח הפקד יהיה גלוי כאשר מוצגת תיבת הדו-שיח, כל פקד חייבת להיות גם את סגנון WS_VISIBLE. סגנונות חלון נפוצים אחרים הם WS_BORDER עבור פקדים בעלי גבולות אופציונלי, WS_DISABLED עבור פקדי להיות לא זמינה כאשר תיבת הדו-שיח נוצר לראשונה, ואת WS_TABSTOP WS_GROUP עבור פקדים שניתן לגשת אליו באמצעות לוח המקשים. WS_TABSTOP ואת WS_GROUP הסגנונות משמשים בשילוב עם ממשק לוח המקשים הדו-שיח המתוארות בהמשך נושא זה.

התבנית גם לציין סגנונות בקרה ספציפיות למחלקת חלון הפקד. לדוגמה, תבנית המציינת את פקד לחצן עליך לתת סגנון פקד לחצן כגון BS_PUSHBUTTON או BS_CHECKBOX. המערכת עובר את הסגנונות הבקרה לפרוצדורה חלון הבקרה דרך ההודעה WM_CREATE , ומאפשר את ההליך כדי להתאים את המראה ואת אופן הפעולה של הפקד.

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

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

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

כדי להתיר למשתמש כדי לסגור את תיבת הדו-שיח, בתבנית עליו לציין לחצן אחד לפחות, להעניק לו מזהה פקד IDCANCEL. כדי להתיר למשתמש לבחור בין משלים או מבטל את הפקודה המשויך לתיבת הדו-שיח, התבנית, עליך לציין שני לחצנים, תווית אישור וביטול, עם בקרת מזהים של IDOK ושל IDCANCEL, בהתאמה.

תבנית ציון גם נתונים טקסט ויצירת אופציונליים עבור פקד. בדרך כלל, הטקסט מספק תוויות עבור לחצן פקדים או מציין את התוכן הראשוני של פקד טקסט סטטי. הנתונים היצירה הם בתים אחד או יותר של נתונים למערכת מעביר להליך חלון הפקד בעת יצירת הפקד. יצירת נתונים שימושי עבור פקדי הדורשים מידע נוסף אודות התוכן הראשוני או סגנון מאשר נתון על ידי: נתונים אחרים שלהם. לדוגמה, ליישום יש אפשרות להשתמש ביצירת נתונים כדי לקבוע את ההגדרה הראשונית ואת טווח עבור פקד פס גלילה.