הפונקציה MessageBoxEx יוצר, מציג ומפעילה תיבת הודעה. תיבת ההודעה מכיל הודעת המוגדר על-ידי היישום ואת הכותרת ובנוסף כל שילוב של לחצנים צלמיות מראש. הפרמטר wLanguageId מציין איזו קבוצה של משאבי השפה משמשת עבור לחצנים מוגדרים מראש. לקבלת תיאור מלא של שאר הפרמטרים של MessageBoxEx, ראה MessageBox.
int MessageBoxEx ( HWND hWnd, / / לטפל של חלון הבעליםLPCTSTRlpText, / / כתובת של טקסט בתיבת ההודעהLPCTSTRlpCaption, / / כתובת של הכותרת של תיבת ההודעהUINTuType, / / סגנון של תיבת הודעהWORDwLanguageId / / מזהה שפה);
ציין אחד הדגלים הבאים כדי לציין את הלחצנים שמכילה תיבת הודעה:
| דגל | משמעות |
|---|---|
| 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. |
לקבלת רשימה של מזהי שפה נתמכת על-ידי Win32, ראה מזהי שפה. שים לב לוקליזציה כל מהדורה של Windows Windows NT מכילה בדרך כלל משאבים רק עבור ערכה מוגבלת של שפות. כך, לדוגמה, בגירסה האמריקנית מציע LANG_ENGLISH, הגרסה ה צרפתית מציע LANG_FRENCH, הגירסה הגרמנית מציע LANG_GERMAN, ומציע גירסת השפה היפנית LANG_JAPANESE. כל גירסה מציע LANG_NEUTRAL. פעולה זו מגבילה את ערכת הערכים בהם ניתן להשתמש עם הפרמטר wLanguageId . לפני ציון מזהה השפה, יש למנות את האזורים המותקנים במערכת.
אם הפונקציה מצליחה, ערך החזרה הוא ערך פריט תפריט שאינו אפס המוחזרים על-ידי תיבת הדו-שיח.
| ערך | משמעות |
|---|---|
| IDABORT | לחצן ביטול נבחר. |
| IDCANCEL | לחצן ביטול נבחר. |
| IDIGNORE | התעלם לבחור לחצן. |
| IDNO | לחצן לא נבחר. |
| IDOK | לחצן אישור נבחר. |
| IDRETRY | נבחר לחצן נסה שנית. |
| IDYES | כן נבחר לחצן. |
אם תיבת הודעה יש לחצן ביטול, הפונקציה מחזירה את הערך IDCANCEL בעת הקשה על מקש esc או לחצן ' ביטול '. אם תיבת ההודעה יש לחצן ביטול לא, הקשה על מקש esc יש השפעה.
אם הפעולה תיכשל, הערך המוחזר הוא אפס. כדי לקבל מידע שגיאות מורחב, לקרוא GetLastError.
בעת יצירת תיבת הודעה מערכת-modal כדי לציין כי למערכת אין די זיכרון פנוי, יש לקחת את המחרוזות עבר כפרמטרים lpText ו- lpCaption לא מתוך קובץ משאבים, משום ניסיון לטעון את המשאב עלול להיכשל.
כאשר יישום קוראת לפונקציה MessageBoxEx מציין דגלים MB_ICONHAND ו- MB_SYSTEMMODAL עבור הפרמטר uType , ה-API של Win32 מציג תיבת הודעה המתקבלת להתחשב זיכרון זמין. כאשר אתה מציין דגלים אלה, המערכת תגביל את אורך הטקסט תיבת ההודעה בשורה אחת.
אם אתה יוצר תיבת הודעה כאשר תיבת דו-שיח קיים, השתמש בנקודת האחיזה של תיבת הדו-שיח כפרמטר hWnd . הפרמטר hWnd לא צריך לזהות חלון צאצא, כגון תיבת דו-שיח.
Windows 95:המערכת יכול לתמוך מרבי של נקודות אחיזה של חלון 16,364.
nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:לא נתמך.
כותרת עליונה:להצהיר על winuser.h.
ייבוא ספריית:השתמש user32.lib.
Unicode:מיושם על גירסאות Unicode ו- ANSI ב- Windows ו- Windows NT.
סקירה כללית של תיבות הדו-שיח, פונקציות של תיבת הדו-שיח, MAKELANGID, MessageBeep,MessageBox , MessageBoxIndirect, SetForegroundWindow