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