תיבת הדו-שיח תבנית זיכרון מורכב כותרת המתארת את תיבת הדו-שיח, ואחריו בלוקים נוסף אחד או יותר של נתונים המתארים את כל אחד מהפקדים בתיבת הדו-שיח. התבנית להשתמש תבנית סטנדרטית או עיצוב מורחב. תבנית רגילה, הכותרת היא מבנה DLGTEMPLATE ואחריו מערכי באורך משתנה נוספים. הנתונים עבור כל פקד מורכב מבנה DLGITEMTEMPLATE ואחריו מערכי באורך משתנה נוספים. בתבנית תיבת הדו-שיח מורחבת, הכותרת משתמש בתבנית DLGTEMPLATEEX ואת הגדרות פקד להשתמש בתבנית DLGITEMTEMPLATEEX.
כדי להבחין בין תבנית רגיל לתבנית מורחבת של, בדוק 16 הסיביות הראשונות של תבנית בתיבת הדו-שיח. בתבנית מורחבת, המילה הראשונה היא 0xFFFF; כל ערך אחר מציין תבנית רגילה.
אם אתה יוצר תבנית הדו-שיח בזיכרון, עליך לוודא כי כל אחד הפקד DLGITEMTEMPLATE או DLGITEMTEMPLATEEX הגדרות מיושרות לגבולות DWORD . בנוסף, ניתן ליישר נתונים היצירה הבא של הגדרת פקד על גבול DWORD . עליך להיות מיושרים כל מערכים אחרים של אורך משתנה ב תבנית בתיבת הדו-שיח ב- WORD גבולות.
כותרת תבנית
שני רגילים ומורחבים תבניות עבור תיבות דו-שיח, הכותרת כולל מידע כללי הבאים:
המיקום והמידות של תיבת הדו-שיח
סגנונות חלון תיבת הדו-שיח עבור תיבת הדו-שיח
מספר פקדים בתיבת הדו-שיח. ערך זה קובע את מספר הגדרות DLGITEMTEMPLATE או DLGITEMTEMPLATEEX של פקד בתבנית.
משאב תפריט אופציונלי עבור תיבת הדו-שיח. התבנית יכול להעיד תיבת הדו-שיח אין תפריט, או יכול לציין את הערך האורדינאלי או Unicode מחרוזת המסתיימת אשר מזהה משאב תפריט קובץ הפעלה.
מחלקת חלון של תיבת הדו-שיח. זו יכולה להיות המחלקה בתיבת הדו-שיח מוגדרת מראש, או שהערך הסודר או Unicode מחרוזת המסתיימת אשר מזהה מחלקה חלון רשומים.
המסתיימת ב- Unicode למחרוזת המציינת את הכותרת עבור חלון תיבת הדו-שיח. אם המחרוזת ריקה, בפס הכותרת של תיבת הדו-שיח תהיה ריקה. אם תיבת הדו-שיח אין את סגנון WS_CAPTION, המערכת מגדירה את הכותרת המחרוזת שצוינה, אך לא להציג אותה.
אם תיבת הדו-שיח היא בסגנון DS_SETFONT, הכותרת מציין את נקודת הגופן וגודל שם הגופן שישמש עבור הטקסט באזור הלקוח ואת הפקדים בתיבת הדו-שיח.
בתבנית מורחבת, הכותרת DLGTEMPLATEEX מציין גם את המידע הנוסף הבא:
מזהה הקשר לעזרה המזהה את חלון תיבת דו-שיח כאשר המערכת שולחת WM_HELP הודעה.
אם תיבת הדו-שיח היא בסגנון DS_SETFONT, הכותרת מציין את עובי גופן ומציינת אם הגופן הוא נטוי.
הגדרות בקרת
בעקבות כותרת תבנית היא הגדרות פקד אחד או יותר אשר מתארות את הפקדים בתיבת הדו-שיח. שני רגילים ומורחבים בתבניות, כותרת עליונה של תיבת הדו-שיח יש חבר המציין את המספר של בקרת הגדרות בתבנית. תבנית רגילה, מורכבת כל הגדרת בקרת מבנה DLGITEMTEMPLATE ואחריו מערכי באורך משתנה נוספים. בתבנית מורחבת, הגדרות בקרת שימוש בתבנית DLGITEMTEMPLATEEX.
שני רגילים ומורחבים בתבניות, הגדרת בקרה כוללת את הפרטים הבאים:
המיקום והמידות של הפקד.
חלון וסגנונות פקד עבור הפקד.
מזהה פקד.
מחלקת חלון הפקד. זה יכול להיות שהערך הסודר של מחלקת מערכת מוגדרת מראש או למחרוזת Unicode המסתיימת ב- null המציינת את שם המחלקה חלון רשומים.
מחרוזת Unicode המסתיימת ב- null המציין את הטקסט ההתחלתי של הפקד, או שהערך הסודר המזהה של משאב, כגון סמל, קובץ הפעלה.
אופציונלי באורך משתנה בלוק יצירת נתונים. כאשר המערכת יוצר את הפקד, העברת מצביע לנתוני זה בפרמטר lParam ההודעה WM_CREATE אשר הוא שולח לפקד.
בתבנית מורחבת, הגדרת פקד מציין גם מזהה הקשר לעזרה המזהה את הפקד כאשר המערכת שולחת WM_HELP הודעה.