הפונקציה MessageBox יוצר, מציג ומפעילה תיבת הודעה. תיבת ההודעה מכיל הודעת המוגדר על-ידי היישום, כותרת, ובנוסף כל שילוב של סמלים שהוגדרו מראש, לחצנים.
int (תיבות הודעות HWND hWnd, / / לטפל של חלון הבעליםLPCTSTRlpText, / / כתובת של טקסט בתיבת ההודעהLPCTSTRlpCaption, / / כתובת של הכותרת של תיבת ההודעהUINTuType / / סגנון של תיבת הודעה);
ציין אחד הדגלים הבאים כדי לציין את הלחצנים שמכילה תיבת הודעה:
דגל | משמעות |
---|---|
MB_ABORTRETRYIGNORE | תיבת ההודעה מכילה שלושה לחצנים: לבטל, שנית, ולהתעלם. |
MB_OK | תיבת ההודעה מכילה לחצן אחד: אישור. זוהי ברירת המחדל. |
MB_OKCANCEL | תיבת ההודעה מכיל שני לחצנים: אישור וביטול. |
MB_RETRYCANCEL | תיבת ההודעה מכיל שני לחצנים: שוב, ביטול. |
MB_YESNO | תיבת ההודעה מכיל שני לחצנים: כן ולא. |
MB_YESNOCANCEL | תיבת ההודעה מכילה שלושה לחצנים: כן, לא, וביטול. |
ציין אחד הדגלים הבאים כדי להציג סמל בתיבת ההודעה:
דגל | משמעות |
---|---|
MB_ICONEXCLAMATION, MB_ICONWARNING |
סמל סימן קריאה מופיע בתיבת ההודעה. |
MB_ICONINFORMATION, MB_ICONASTERISK |
מופיע סמל המורכב אות קטנה אני במעגל בתיבת ההודעה. |
MB_ICONQUESTION | סמל סימן שאלה מופיע בתיבת ההודעה. |
MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND |
סמל סימן עצור מופיע בתיבת ההודעה. |
ציין אחד הדגלים הבאים כדי לציין לחצן ברירת המחדל:
דגל | משמעות |
---|---|
MB_DEFBUTTON1 | הלחצן הראשון יהיה לחצן ברירת המחדל. MB_DEFBUTTON1 היא ברירת המחדל אלא אם כן צוינה MB_DEFBUTTON2, MB_DEFBUTTON3 או MB_DEFBUTTON4. |
MB_DEFBUTTON2 | הלחצן השני יהיה לחצן ברירת המחדל. |
MB_DEFBUTTON3 | הלחצן השלישי הוא לחצן ברירת המחדל. |
MB_DEFBUTTON4 | הלחצן הרביעי הוא לחצן ברירת המחדל. |
ציין אחד הדגלים הבאים כדי לציין את המודאליות של תיבת הדו-שיח:
דגל | משמעות |
---|---|
MB_APPLMODAL | על המשתמש להגיב לתיבת ההודעה לפני שיוכל להמשיך לעבוד בחלון המזוהה על-ידי הפרמטר hWnd . עם זאת, המשתמש יכול לעבור לחלונות של הליכי משנה אחרים, עבודה עם חלונות אלה. בהתאם ההיררכיה של windows ביישום, ייתכן המשתמש יכול לעבור לחלונות אחרים בתוך הליך המשנה. כל ילד החלונות של האב של תיבת ההודעה ללא זמינות באופן אוטומטי, אך חלונות מוקפצים אינם. MB_APPLMODAL היא ברירת המחדל אם לא MB_SYSTEMMODAL ולא MB_TASKMODAL. |
MB_SYSTEMMODAL | זהה MB_APPLMODAL פרט לכך תיבת ההודעה היא בסגנון WS_EX_TOPMOST. השתמש בתיבות הודעה מערכת-מודאלי להודיע למשתמש רצינית, העלול לגרום נזק שגיאות הדורשים טיפול מיידי (לדוגמה, פועל מתוך זיכרון). דגל זה אינה משפיעה על היכולת של המשתמש אינטראקציה עם windows אחרות מאלה המשויכים hWnd. |
MB_TASKMODAL | זהה MB_APPLMODAL פרט לכך כל חלונות ברמה העליונה השייכת הליך המשנה הנוכחי אינם זמינים אם הפרמטר hWnd הוא NULL. השתמש בדגל זה כאשר היישום או ספריית קריאה אין נקודת אחיזה חלון זמינים, אך עדיין צריך למנוע קלט לחלונות אחרים ברצף הקריאה ללא השהיית הליכי משנה אחרים. |
בנוסף, באפשרותך לציין את הדגלים הבאים:
אם דגל זה מוגדר, על הפרמטר hWnd להיות NULL. פעולה זו נועדה תיבת ההודעה יכול להופיע על שולחן העבודה מלבד שולחן העבודה המתאימה hWnd.
עבור Windows NT גירסה 4.0, שינה הערך של MB_SERVICE_NOTIFICATION. ראה WINUSER.H עבור הערכים החדשים. Windows NT 4.0 מספק תאימות לאחור עבור שירותים קיימים מראש על-ידי מיפוי את הערך הישן לערך החדש ביישום של MessageBox ו- MessageBoxEx. מיפוי זה מתבצע רק עבור קבצי הפעלה בעלות מספר גירסה, כפי שנקבע על-ידי מקשר, פחות מ- 4.0.
כדי לבנות שירות משתמש MB_SERVICE_NOTIFICATION, ולא ניתן להפעיל ב- Windows NT 4.0 ו- Windows NT 3. x, עומדות בפניך שתי אפשרויות.
|
nbsp; 2. בזמן קישור, ציין גירסה 4.0. בזמן ריצה, השתמש בפונקציה GetVersionEx כדי לבדוק את גירסת מערכת. לאחר מכן בעת הפעלה ב- Windows &NT 3. x, להשתמש MB_SERVICE_NOTIFICATION_NT3X; ולהשתמש ב- Windows NT 4.0, MB_SERVICE_NOTIFICATION. |
הערך המוחזר הוא אפס אם אין די זיכרון כדי ליצור את תיבת הודעה.
אם הפונקציה מצליחה, הערך המוחזר הוא אחד מהערכים פריט התפריט הבאים המוחזר על-ידי תיבת הדו-שיח:
ערך | משמעות |
---|---|
IDABORT | לחצן ביטול נבחר. |
IDCANCEL | לחצן ביטול נבחר. |
IDIGNORE | התעלם לבחור לחצן. |
IDNO | לחצן לא נבחר. |
IDOK | לחצן אישור נבחר. |
IDRETRY | נבחר לחצן נסה שנית. |
IDYES | כן נבחר לחצן. |
אם תיבת הודעה יש לחצן ביטול, הפונקציה מחזירה את הערך IDCANCEL אם הקשה על מקש esc או לחצן ביטול נבחרה. אם תיבת ההודעה יש לחצן ביטול לא, הקשה על esc יש השפעה.
כאשר תשתמש תיבת הודעה מערכת-modal כדי לציין למערכת אין די זיכרון פנוי, המחרוזות הצביע על-ידי lpText ו- lpCaption פרמטרים לא יילמד מתוך קובץ משאבים, משום ניסיון לטעון את המשאב עלול להיכשל.
כאשר יישום קורא MessageBox מציין דגלים MB_ICONHAND ו- MB_SYSTEMMODAL עבור הפרמטר uType , המערכת תציג תיבת ההודעה המתקבלת להתחשב זיכרון זמין. כאשר צוינו דגלים אלה, המערכת תגביל את האורך של תיבת ההודעה הטקסט שלוש שורות. המערכת אינה לא יפצל אוטומטית את השורות להתאמה בתיבת ההודעה, עם זאת, כך מחרוזת הודעה חייב להכיל החזרות גררה לשבור את השורות במקומות המתאימים.
אם אתה יוצר תיבת הודעה כאשר תיבת דו-שיח קיים, השתמש בנקודת האחיזה של תיבת הדו-שיח כפרמטר hWnd . הפרמטר hWnd לא צריך לזהות חלון צאצא, כגון פקד תיבת דו-שיח.
Windows 95:המערכת יכול לתמוך מרבי של נקודות אחיזה של חלון 16,364.
חלונות CE: Windows CE אינו תומך בסגנונות הבאים עבור הפרמטר uType
MB_SYSTEMMODAL
MB_TASKMODAL
MB_HELP
MB_RIGHT
MB_RTLREADING
MB_DEFAULT_DESKTOP_ONLY
MB_SERVICE_NOTIFICATION
MB_USERICON.
חזור הבאות ערכים שאינם נתמכים:
IDCLOSE
IDHELP
nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:דורש גירסה 1.0 ואילך.
כותרת עליונה:להצהיר על winuser.h.
ייבוא ספריית:השתמש user32.lib.
Unicode:מיושם על גירסאות Unicode ו- ANSI ב- Windows ו- Windows NT.
סקירה כללית של תיבות הדו-שיח, פונקציות של תיבת הדו-שיח, FlashWindow, MessageBeep, MessageBoxEx, MessageBoxIndirect, SetForegroundWindow