ฟังก์ชันMessageBoxExสร้าง แสดง และกล่องข้อความที่ดำเนินงาน กล่องข้อความประกอบด้วยข้อความที่กำหนดโดยโปรแกรมประยุกต์ และชื่อเรื่อง บวกรวมกันของไอคอนที่กำหนดไว้ล่วงหน้าและกดปุ่ม ชุดทรัพยากรภาษาที่ใช้สำหรับปุ่มกำหนดไว้ล่วงหน้าในการระบุพารามิเตอร์wLanguageId สำหรับคำอธิบายที่สมบูรณ์ของพารามิเตอร์อื่น ๆ ของMessageBoxExดูMessageBox.
int MessageBoxEx ( HWND hWnd, / / จัดการของเจ้าของหน้าต่างLPCTSTRlpText, / / ที่อยู่ของข้อความในกล่องข้อความLPCTSTRlpCaption, / / ที่อยู่ของชื่อเรื่องของกล่องข้อความUINTuType, / / ลักษณะของกล่องข้อความWORDwLanguageId / / ตัวระบุภาษา);
ระบุค่าสถานะเพื่อแสดงปุ่มมีอยู่ในกล่องข้อความต่อไปนี้อย่างใดอย่างหนึ่ง:
ค่าสถานะ | ความหมาย |
---|---|
MB_ABORTRETRYIGNORE | กล่องข้อความประกอบด้วยปุ่มสาม: การยก เลิก ลองใหม่ และละเว้น. |
MB_OK | กล่องข้อความประกอบด้วยปุ่มกดที่หนึ่ง: 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 | สี่ปุ่มคือ ปุ่มเริ่มต้น. |
ระบุค่าสถานะต่อไปนี้เพื่อระบุการ modality ของกล่องโต้ตอบอย่างใดอย่างหนึ่ง:
ค่าสถานะ | ความหมาย |
---|---|
MB_APPLMODAL | ผู้ใช้ต้องตอบสนองไปยังกล่องข้อความก่อนทำงานในหน้าต่างที่ถูกระบุ ด้วยพารามิเตอร์hWnd อย่างไรก็ตาม ผู้ใช้สามารถย้ายไปยังหัวข้ออื่น ๆ ของ windows และการทำงานในหน้าต่างเหล่านั้น. ทั้งนี้ขึ้นอยู่กับลำดับชั้นของหน้าต่างในโปรแกรมประยุกต์ ผู้ใช้อาจจะย้ายไปยังหน้าต่างอื่นภายในเธรด หน้าต่างลูกทั้งหมดของไซต์แม่ของกล่องข้อความโดยอัตโนมัติถูกปิดใช้งาน แต่ windows แบบผุดขึ้นไม่. MB_APPLMODAL เป็นค่าเริ่มต้นถ้ามีระบุทั้ง MB_SYSTEMMODAL และ MB_TASKMODAL. |
MB_SYSTEMMODAL | เหมือน MB_APPLMODAL ยกเว้นว่ากล่องข้อความมีลักษณะ WS_EX_TOPMOST ใช้กล่องข้อความระบบ-modal เพื่อแจ้งผู้ใช้ ร้ายแรงอาจทำลายข้อผิดพลาดที่ต้องการความสนใจทันที (ตัวอย่าง การเรียกใช้หน่วยความจำ) ธงชาตินี้ไม่มีผลต่อความสามารถของผู้ใช้โต้ตอบกับ windows อื่น ๆ นอกเหนือจากที่เกี่ยวข้องกับhWnd. |
MB_TASKMODAL | เหมือน MB_APPLMODAL ยกเว้นว่าระดับบนหน้าต่างทั้งหมดเป็นของเธรดปัจจุบันถูกปิดการใช้งานถ้าพารามิเตอร์hWndเป็น NULL ใช้ธงชาตินี้เมื่อโปรแกรมประยุกต์หรือไลบรารีโทรไม่มีหมายเลขอ้างอิงหน้าต่างที่พร้อมใช้งาน แต่ยังคง ต้องการในการป้องกันการป้อนข้อมูลลงในหน้าต่างอื่นในเธรดเรียกโดยไม่หยุดกระทู้อื่น ๆ. |
นอกจากนี้ คุณสามารถระบุค่าสถานะต่อไปนี้:
ถ้าธงนี้ มีการตั้งค่าพารามิเตอร์hWndต้องเป็น NULL นี่คือเพื่อให้กล่องข้อความจะปรากฏขึ้นบนเดสก์ท็อปอื่น ๆ นอกเหนือจากการเดสก์ท็อปที่ที่สอดคล้องกับhWnd.
สำหรับ Windows NT 4.0 รุ่น ค่าของ MB_SERVICE_NOTIFICATION มีการเปลี่ยนแปลง ดู WINUSERH สำหรับค่าเก่า และใหม่ Windows NT 4.0 มีความเข้ากันได้แบบย้อนหลังสำหรับการบริการที่มีอยู่แล้ว โดยการแม็ปค่าเก่ากับค่าใหม่ในการใช้งานMessageBoxและMessageBoxEx แมปนี้ทำได้เฉพาะสำหรับ executables ที่มีหมายเลขรุ่น เป็นชุดโดยตัวเชื่อมที่โยง ต่ำกว่า 4.0.
เมื่อต้องการสร้างบริการที่ใช้ MB_SERVICE_NOTIFICATION และสามารถเรียกใช้บนทั้ง 3.x Windows NT และ Windows NT 4.0 คุณมีสองตัวเลือก.
|
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 | เลือกปุ่ม OK. |
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 หรือรุ่นที่ใหม่กว่า
Windows CE:ไม่สนับสนุน
หัวข้อ:ประกาศใน winuser.h
ไลบรารีที่นำเข้า:ใช้ user32.lib
Unicode:นำมาใช้เป็น Unicode และ ANSI รุ่นบน Windows และ Windows NT.
ภาพรวมของกล่องโต้ตอบฟังก์ชันของกล่องโต้ตอบ MAKELANGID, MessageBeep,MessageBox , MessageBoxIndirect, SetForegroundWindow