תיבות הודעות

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

int (תיבות הודעות HWND  hWnd, / / לטפל של חלון הבעליםLPCTSTRlpText, / / כתובת של טקסט בתיבת ההודעהLPCTSTRlpCaption, / / כתובת של הכותרת של תיבת ההודעהUINTuType / / סגנון של תיבת הודעה);
 

פרמטרים

hWnd
מזהה את חלון הבעלים של תיבת ההודעה שיש ליצור. אם פרמטר זה הוא NULL, תיבת ההודעה יש חלון הבעלים לא.
lpText
המצביע למחרוזת המסתיימת ב- null המכיל את ההודעה שתוצג.
lpCaption
מצביע מחרוזת המסתיימת ב- null המשמשת עבור הכותרת של תיבת הדו-שיח. אם פרמטר זה הוא NULL, משמש את כותרת ברירת המחדל שגיאה.
uType
ציון ערכת דגלי סיבית הקובעות את התוכן ואת אופן הפעולה של תיבת הדו-שיח. פרמטר זה יכול להיות שילוב של דגלים הקבוצות הבאות של דגלים.

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

בנוסף, באפשרותך לציין את הדגלים הבאים:

MB_DEFAULT_DESKTOP_ONLY
שולחן העבודה מקבל כעת הקלט חייב להיות שולחן העבודה של ברירת המחדל; אחרת, הפעולה תיכשל. שולחן העבודה של ברירת המחדל הוא יישום פועל לאחר שהמשתמש נכנס.
MB_HELP
הוספת לחצן עזרה לתיבת ההודעה. בחירת לחצן עזרה או הקשה על F1 יוצר של אירוע עזרה.
MB_RIGHT
הטקסט הוא יישור לימין.
MB_RTLREADING
הצגת טקסט ההודעה ואת הכיתוב באמצעות סדר קריאה כתיבה מימין לשמאל במערכות בעברית ובערבית.
MB_SETFOREGROUND
תיבת ההודעה הופכת חלון קידמה. באופן פנימי, המערכת קוראת לפונקציה SetForegroundWindow עבור תיבת ההודעה.
MB_TOPMOST
תיבת ההודעה נוצר עם סגנון החלון WS_EX_TOPMOST.
MB_SERVICE_NOTIFICATION
Windows NT: הקורא הוא שירות להודיע למשתמש של אירוע. הפונקציה מציגה תיבת הודעה בשולחן העבודה הפעיל הנוכחי, גם אם לא משתמש מחובר למחשב.

אם דגל זה מוגדר, על הפרמטר 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, עומדות בפניך שתי אפשרויות.
  1. בזמן קישור, ציין את מספר הגירסה של פחות מ- 4.0; או
nbsp;   2. בזמן קישור, ציין גירסה 4.0. בזמן ריצה, השתמש בפונקציה GetVersionEx כדי לבדוק את גירסת מערכת. לאחר מכן בעת הפעלה ב- Windows &NT 3. x, להשתמש MB_SERVICE_NOTIFICATION_NT3X; ולהשתמש ב- Windows NT 4.0, MB_SERVICE_NOTIFICATION.

MB_SERVICE_NOTIFICATION_NT3X
Windows NT: ערך זה מתאים לערך שהוגדרו עבור MB_SERVICE_NOTIFICATION עבור Windows NT גירסה 3.51.

להחזיר ערכים

הערך המוחזר הוא אפס אם אין די זיכרון כדי ליצור את תיבת הודעה.

אם הפונקציה מצליחה, הערך המוחזר הוא אחד מהערכים פריט התפריט הבאים המוחזר על-ידי תיבת הדו-שיח:

ערך משמעות
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

QuickInfo

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

Index