DLGTEMPLATEEX

המבנה DLGTEMPLATEEX אינו מוגדר בקובץ הכותרת רגיל כלשהו. הגדרת מבנה ניתנת כאן כדי להסביר את העיצוב של תבנית מורחבת עבור תיבת דו-שיח.

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

 typedef struct {מילה dlgVer; WORD חתימה; DWORD helpID; DWORD exStyle; סגנון DWORD; המילה cDlgItems; x קצרה; y קצרה; cx קצרה; cy קצרה; תפריט sz_Or_Ord; / / שם או הסודר של משאב תפריט sz_Or_Ord windowClass; / / שם או מספר סידורי ממין של מחלקת חלון כותרת WCHAR [titleLen]; / / כותרת מחרוזת של תיבת הדו-שיח pointsize קצרה; / / רק אם הדגל DS_SETFONT מוגדר משקל קצרה; / / רק אם הדגל DS_SETFONT מוגדר bItalic קצרה; / / רק אם הדגל DS_SETFONT מוגדר גופן WCHAR [fontLen]; / / שם גופן, אם מוגדר DS_SETFONT } DLGTEMPLATEEX 

חברים

dlgVer
מציין את מספר הגירסה של התבנית בתיבת הדו-שיח מורחבת. חבר זה עליך לציין 1.
חתימה
מציין אם תבנית תבנית בתיבת הדו-שיח מורחבת. הערך 0xFFFF מציין תבנית בתיבת הדו-שיח מורחבת. במקרה זה, חבר dlgVer מציין את מספר הגירסה של תבנית. אם החתימה לכל ערך אחר מלבד 0xFFFF, זוהי תבנית רגילה המשתמשת DLGTEMPLATE ומבני DLGITEMTEMPLATE.
helpID
מציין את מזהה ההקשר של עזרה עבור חלון תיבת הדו-שיח. כאשר המערכת שולחת WM_HELP ההודעה, הוא מעביר ערך זה ב- החבר dwContextId HELPINFO מבנה.
exStyle
קביעת סגנונות מורחבת עבור חלון. חבר זה לא נעשה כדי ליצור תיבות דו-שיח, אך יישומים העושים שימוש בתבניות של תיבת הדו-שיח ניתן להשתמש בו כדי ליצור סוגים אחרים של windows.
סגנון
מציין את הסגנון של תיבת הדו-שיח. חבר זה יכול להיות שילוב של ערכים סגנון חלון (כגון WS_CAPTION ו- WS_SYSMENU) אחת או יותר מהפעולות הערכים הבאים של סגנון תיבת הדו-שיח.
ערך משמעות
DS_3DLOOK מעניקה תיבת הדו-שיח גופן nonbold, ציור תלת-הגבולות סביב הפקד windows בתיבת הדו-שיח.

הסגנון DS_3DLOOK נדרש רק על-ידי יישומים מבוססי-Win32 להדר עבור המערכת בגירסאות הקודמות ל- Windows 95 או Windows NT 4.0. המערכת מחיל באופן אוטומטי את מראה תלת-ממדי על תיבות דו-שיח שנוצרו על-ידי יישומים הידור עבור גירסאות נוכחיות של המערכת.

DS_ABSALIGN מציין הקואורדינטות של תיבת הדו-שיח הן קואורדינטות מסך. אם לא צוין סגנון זה, המערכת מתייחסת אותם בתור לקוח קואורדינטות.
DS_CENTER מרכזים את תיבת הדו-שיח באזור העבודה; כלומר, האזור לא יוסתר על-ידי המגש.
DS_CENTERMOUSE מרכזים את סמן העכבר בתיבת הדו-שיח.
DS_CONTEXTHELP כולל סימן שאלה בפס הכותרת של תיבת הדו-שיח. כאשר המשתמש לוחץ על סימן השאלה, שהסמן יהפוך לסימן שאלה עם מצביע. אם לאחר מכן, המשתמש לוחץ על פקד בתיבת הדו-שיח, הפקד מקבל הודעה WM_HELP. הפקד עליו להעביר את ההודעה על הפרוצדורה תיבת דו-שיח, יש מכנים הפונקציה WinHelp באמצעות הפקודה HELP_WM_HELP. מציג יישום עזרה של חלון מוקפץ המכיל בדרך כלל עזרה עבור הפקד.

שים לב כי DS_CONTEXTHELP הוא מציין מיקום בלבד. כאשר תיבת הדו-שיח נוצר, המערכת בודקת DS_CONTEXTHELP ומוסיף, אם הוא שם, WS_EX_CONTEXTHELP לסגנון מורחבת של תיבת הדו-שיח. לא ניתן להשתמש בסגנון WS_EX_CONTEXTHELP באמצעות סגנונות WS_MAXIMIZEBOX או WS_MINIMIZEBOX.

DS_CONTROL יוצר תיבת דו-שיח שעובדת היטב בתור חלון צאצא של תיבת דו-שיח נוספת, כמו עמוד בגליון המאפיינים. סגנון זה מאפשר למשתמש לשונית בין windows פקד של תיבת דו-שיח הילד, השתמש במקשי האצה שלה, וכן הלאה.
DS_FIXEDSYS גורמת לפתיחת תיבת הדו-שיח SYSTEM_FIXED_FONT את במקום ברירת המחדל SYSTEM_FONT. SYSTEM_FIXED_FONT הוא גופן רוחב קבוע תואם גופן המערכת בגירסאות Windows שקדמו ל- 3.0.
DS_LOCALEDIT חל על יישומי 16 סיביות בלבד. סגנון זה מנחה את פקדי עריכה בתיבת הדו-שיח כדי להקצות זיכרון מתוך יחידת נתונים של היישום. אחרת, עריכת פקדים להקצות אחסון מאובייקט זיכרון גלובלי.
DS_MODALFRAME יוצר תיבת דו-שיח עם מסגרת תיבת דו-שיח מודאלית אותם ניתן לשלב עם שורת כותרת ותפריט מערכת על-ידי ציון את WS_CAPTION ואת WS_SYSMENU סגנונות.
DS_NOFAILCREATE Windows 95: יוצר תיבת הדו-שיח גם אם מתרחשות שגיאות — לדוגמה, אם אין אפשרות ליצור חלון צאצא או אם המערכת אין אפשרות ליצור מקטע נתונים מיוחדים עבור פקד עריכה.
DS_NOIDLEMSG העלמת הודעות WM_ENTERIDLE המערכת ישלח אחרת לבעלים של תיבת הדו-שיח כאשר מוצגת תיבת הדו-שיח.
DS_SETFONT מציין הכותרת DLGTEMPLATEEX של התבנית בתיבת הדו-שיח מורחבת מכיל ארבעה חברים נוספים (pointsize, משקל, bItalicוגופן)המתארים את הגופן שישמש עבור הטקסט לאזור הלקוח ופקדים של תיבת הדו-שיח. במידת האפשר, המערכת יוצרת גופן בהתאם לערכים המצוינים חברים אלה. מכן המערכת מעבירה את נקודת האחיזה של הגופן בתיבת הדו-שיח ולחץ על כל פקד על ידי שליחת הודעה WM_SETFONT.

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

DS_SETFOREGROUND גורמת למערכת להשתמש בפונקציה SetForegroundWindow כדי להצגת תיבת הדו-שיח בקידמה.
DS_SYSMODAL סגנון זה מיושנת ואינה נכללת עבור תאימות עם גירסאות קודמות של Windows. אם תציין סגנון זה, המערכת יוצרת תיבת הדו-שיח בסגנון WS_EX_TOPMOST. אל תשלבו סגנון זה בסגנון DS_CONTROL.

cDlgItems
מציין את מספר פקדים בתיבת הדו-שיח.
x
ציון קואורדינטות x יחידות של תיבת הדו-שיח, של הפינה השמאלית העליונה של תיבת הדו-שיח.
y
ציון הקואורדינטה y, ביחידות תיבת הדו-שיח, של הפינה השמאלית העליונה של תיבת הדו-שיח.
cx
ציון הרוחב, ביחידות תיבת הדו-שיח, בתיבת הדו-שיח.
cy
מציין את הגובה ביחידות תיבת הדו-שיח, בתיבת הדו-שיח.
תפריט
ציון מערך באורך משתנה של רכיבי 16 סיביות המזהה משאב תפריט עבור תיבת הדו-שיח. אם הרכיב הראשון של מערך זה הוא 0x0000, תיבת הדו-שיח יש אין תפריט, המערך יש יסודות אחרים. אם הרכיב הראשון 0xFFFF, המערך יש רכיב נוסף אחד, אשר מציין שהערך הסודר של משאב תפריט קובץ הפעלה. אם הרכיב הראשון יש ערך אחר, המערכת מתייחסת המערך כמחרוזת Unicode המסתיימת ב- null אשר מציין את השם של משאב תפריט קובץ הפעלה.
windowClass
ציון מערך באורך משתנה של רכיבי 16 סיביות המזהה את מחלקת חלון של תיבת הדו-שיח. אם הרכיב הראשון של המערך הוא 0x0000, המערכת משתמשת המחלקה בתיבת הדו-שיח מוגדרים מראש עבור תיבת הדו-שיח, המערך מכיל יסודות אחרים. אם הרכיב הראשון 0xFFFF, המערך יש רכיב נוסף אחד אשר מציין שהערך הסודר של מחלקת חלון מערכת מוגדרת מראש. אם הרכיב הראשון יש ערך אחר, המערכת מתייחסת המערך כמחרוזת Unicode המסתיימת ב- null המציין את שם המחלקה חלון רשומים.
כותרת
ציון מחרוזת Unicode המסתיימת ב- null המכילה את הכותרת של תיבת הדו-שיח. אם הרכיב הראשון של מערך זה הוא 0x0000, תיבת הדו-שיח קיימים אין כותרת ויש המערך ללא רכיבים אחרים.
pointsize
מציין את הגודל בנקודות של הגופן שישמש עבור הטקסט בתיבת הדו-שיח והפקדים שלו. בני pointsize, משקל, bItalicוגופן נמצאים בתבנית תיבת הדו-שיח מורחבים רק אם החבר סגנון מציין את סגנון DS_SETFONT.
משקל
מציין את עובי של הגופן בטווח של 0 עד 1000. זה יכול להיות אחד הערכים המפורטים עבור החבר lfWeight LOGFONT מבנה. חבר זה קיים רק אם החבר סגנון מציין DS_SETFONT.
bItalic
מציין אם הגופן נטוי. אם ערך זה הוא TRUE, הגופן הוא נטוי. חבר זה קיים רק אם החבר סגנון מציין DS_SETFONT.
גופן
ציון מחרוזת Unicode המסתיימת ב- null המכיל את השם של צורת הגופן לגופן. חבר זה קיים רק אם החבר סגנון מציין DS_SETFONT.

הערות

באפשרותך להשתמש תבנית בתיבת הדו-שיח מורחבת במקום תבנית בתיבת הדו-שיח הרגילה בפונקציות CreateDialogIndirectParam ו- DialogBoxIndirectParam ופקודות מאקרו CreateDialogIndirect ו- DialogBoxIndirect . תבנית בתיבת הדו-שיח הרגילה משתמשת DLGTEMPLATE ומבני DLGITEMTEMPLATE.

בעקבות הכותרת DLGTEMPLATEEX בתבנית תיבת הדו-שיח מורחבת היא אחד או יותר מבני DLGITEMTEMPLATEEX המתארים את הפקדים בתיבת הדו-שיח. חבר cDlgItems מציין את מספר מבנים DLGITEMTEMPLATEEX בתבנית.

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

תפריט, windowClass, כותרתומערכים גופן חייב להיות מיושרים ב- WORD גבולות.

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

חברי x, y, cxו cy לציין ערכים ביחידות של תיבת הדו-שיח. באפשרותך להמיר ערכים אלה יחידות מסך (פיקסלים) באמצעות הפונקציה MapDialogRect.

QuickInfo

nbsp; Windows &NT: מחייב גירסה 3.51 ואילך.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:לא נתמך.

ראה גם

סקירה כללית של תיבות הדו-שיח, מבנים של תיבת הדו-שיח, CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, MapDialogRect, MultiByteToWideChar, WM_SETFONT