DLGTEMPLATE

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

typedef struct {/ / סגנון DWORD dltt; 
    DWORD dwExtendedStyle; 
    WORD cdit; 
    x קצרה; 
    y קצרה; 
    cx קצרה; 
    cy קצרה; 
} DLGTEMPLATE 

 

חברים

סגנון
מציין את הסגנון של תיבת הדו-שיח. חבר זה יכול להיות שילוב של ערכים סגנון חלון (כגון 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 מציין הכותרת של התבנית בתיבת הדו-שיח מכיל נתונים נוספים לציין את הגופן שישמש עבור טקסט בתוך אזור הלקוח ופקדים של תיבת הדו-שיח. הנתונים גופן מתחיל על גבול מילה שבאה המערך כותרת. ערך זה מציין ערך גודל נקודה 16 סיביות לבין מחרוזת שם גופן ב- Unicode. במידת האפשר, המערכת יוצרת גופן לדברי מהערכים שצוינו. מכן המערכת מעבירה את נקודת האחיזה של הגופן בתיבת הדו-שיח ולחץ על כל פקד על ידי שליחת הודעה WM_SETFONT.

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

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

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

הערות

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

מיד לאחר מבנה DLGTEMPLATE הוא מערך תפריט אשר מזהה משאב תפריט עבור תיבת הדו-שיח. אם הרכיב הראשון של מערך זה הוא 0x0000, תיבת הדו-שיח יש אין תפריט, המערך יש יסודות אחרים. אם הרכיב הראשון 0xFFFF, המערך יש רכיב נוסף אחד, אשר מציין שהערך הסודר של משאב תפריט קובץ הפעלה. אם הרכיב הראשון יש ערך אחר, המערכת מתייחסת המערך כמחרוזת Unicode המסתיימת ב- null אשר מציין את השם של משאב תפריט קובץ הפעלה.

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

בעקבות המערך מחלקה הוא מערך כותרת המציינת את מחרוזת Unicode המסתיימת ב- null המכילה את הכותרת של תיבת הדו-שיח. אם הרכיב הראשון של מערך זה הוא 0x0000, תיבת הדו-שיח קיימים אין כותרת ויש המערך ללא רכיבים אחרים.

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

בעקבות הכותרת DLGTEMPLATE בתבנית תיבת הדו-שיח הרגילה הם מבנים DLGITEMTEMPLATE אחד או יותר, מגדיר את הממדים ואת סגנון של הפקדים בתיבת הדו-שיח. חבר cdit מציין את מספר מבנים DLGITEMTEMPLATE בתבנית. ניתן ליישר מבנים אלה DLGITEMTEMPLATE על גבולות DWORD.

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

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

QuickInfo

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

ראה גם

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

Index