MessageBoxEx

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

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

פרמטרים

hWnd
מזהה את חלון הבעלים של תיבת ההודעה שיש ליצור. אם פרמטר זה הוא NULL, תיבת ההודעה יש חלון הבעלים לא.
lpCaption
המצביע למחרוזת המסתיימת ב- null המכיל את ההודעה שתוצג.
lpszTitle
מצביע מחרוזת המסתיימת ב- 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.
wLanguageId
מציין את השפה בה ברצונך להציג את הטקסט הכלול לחצנים מוגדרים מראש. ערך זה חייב להיות בצורת שהחזיר MAKELANGID מאקרו.

לקבלת רשימה של מזהי שפה נתמכת על-ידי 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.

QuickInfo

nbsp; Windows &NT: מחייב גירסה 3.1 או גירסה מתקדמת יותר.
Windows:נדרש Windows 95 או גירסה מתקדמת יותר.
חלונות CE:לא נתמך.
כותרת עליונה:להצהיר על winuser.h.
ייבוא ספריית:השתמש user32.lib.
Unicode:מיושם על גירסאות Unicode ו- ANSI ב- Windows ו- Windows NT.

ראה גם

סקירה כללית של תיבות הדו-שיח, פונקציות של תיבת הדו-שיח, MAKELANGID, MessageBeep,MessageBox , MessageBoxIndirect, SetForegroundWindow

Index