הפונקציה DialogBoxParam יוצרת תיבת דו-שיח מודאלית ממשאב תבנית בתיבת הדו-שיח. לפני הצגת תיבת הדו-שיח, הפונקציה עוברת ערך המוגדר על-ידי יישום הנוהל תיבת הדו-שיח כפרמטר lParam ההודעה WM_INITDIALOG . יישום להשתמש בערך זה כדי לאתחל פקדי תיבת הדו-שיח.
int DialogBoxParam ( HINSTANCE hInstance, / / לטפל מופע היישוםLPCTSTRlpTemplateName, / / מזהה תבנית בתיבת הדו-שיחHWNDhWndParent, / / לטפל לחלון הבעליםDLGPROClpDialogFunc, / / המצביע אל תיבת הדו-שיח תיבת שגרהLPARAMdwInitParam / / ערך אתחול);
אם הפונקציה מצליחה, הערך המוחזר הוא הערך של הפרמטר nResult שצוין בקריאה לפונקציה EndDialog המשמש כדי לסיים את תיבת הדו-שיח.
אם הפעולה תיכשל, הערך המוחזר הוא – 1. כדי לקבל מידע שגיאות מורחב, לקרוא GetLastError.
הפונקציה DialogBoxParam משתמשת בפונקציה CreateWindowEx כדי ליצור את תיבת הדו-שיח. DialogBoxParam מכן שולח הודעה WM_INITDIALOG (ולא הודעה WM_SETFONT) אם התבנית מציין את סגנון DS_SETFONT הפרוצדורה של תיבת הדו-שיח. הפונקציה מציג את תיבת הדו-שיח (ללא תלות אם התבנית מציין את סגנון WS_VISIBLE), מבטלת את חלון הבעלים ומפעילה משלו לולאת הודעה כדי לאחזר שיגור הודעות עבור תיבת הדו-שיח.
כאשר הפרוצדורה תיבת הדו-שיח קוראת לפונקציה EndDialog , DialogBoxParam הורס את תיבת הדו-שיח, מסתיים לולאת הודעה, מאפשר את חלון הבעלים (אם קודם לכן מופעלת) ומחזיר את הפרמטר nResult שצוין על-ידי הפרוצדורה תיבת דו-שיח כאשר היא קוראת EndDialog.
Windows 95 ואילך:המערכת יכול לתמוך מרבי של 255 פקדים לכל תבנית בתיבת הדו-שיח. כדי למקם פקדים יותר מ- 255 בתיבת דו-שיח, צור את הפקדים במטפל בהודעות WM_INITDIALOG במקום להציבם בתבנית.
חלונות CE: לא כל סגנונות נתמכים במבנה DLGTEMPLATE בתבנית הדו-שיח המכונה על-ידי הפרמטר lpTemplateName .
nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:דורש גירסה 1.0 ואילך.
כותרת עליונה:להצהיר על winuser.h.
ייבוא ספריית:השתמש user32.lib.
Unicode:מיושם על גירסאות Unicode ו- ANSI ב- Windows NT.
סקירה כללית של תיבות הדו-שיח, פונקציות של תיבת הדו-שיח, CreateWindowEx, DialogBox, DialogBoxIndirect, DialogBoxIndirectParam, DialogProc, EndDialog, MAKEINTRESOURCE, WM_INITDIALOG, WM_SETFONT