ฟังก์ชันMessageBoxIndirectสร้าง แสดง และกล่องข้อความที่ดำเนินงาน กล่องข้อความประกอบด้วยข้อความที่กำหนดโดยโปรแกรมประยุกต์ และชื่อเรื่อง ไอคอนใด ๆ และรวมกันของปุ่มกำหนดไว้ล่วงหน้า.
int MessageBoxIndirect ( LPMSGBOXPARAMS lpMsgBoxParams / / ที่อยู่ของโครงสร้างสำหรับข้อความ / / กล่องพารามิเตอร์);
ส่งคืนค่าเป็นศูนย์ถ้าไม่มีหน่วยความจำเพียงพอในการสร้างกล่องข้อความ.
ถ้าฟังก์ชันสำเร็จ ค่าส่งกลับเป็นหนึ่งในค่ารายการเมนูต่อไปนี้ส่งกลับ โดยใช้กล่องโต้ตอบ:
| ค่า | ความหมาย |
|---|---|
| IDABORT | เลือกปุ่มยกเลิก. |
| IDCANCEL | เลือกปุ่มยกเลิก. |
| IDIGNORE | ละเว้นเลือกปุ่ม. |
| IDNO | ปุ่มไม่ถูกเลือก. |
| IDOK | เลือกปุ่ม OK. |
| IDRETRY | เลือกปุ่มการลองส่งใหม่. |
| IDYES | ใช่ปุ่มเลือก. |
ถ้ากล่องข้อความมีปุ่มยกเลิก ฟังก์ชันจะส่งกลับค่า IDCANCEL ถ้ามีกดปุ่ม esc หรือเลือกปุ่มยกเลิก ถ้ากล่องข้อความได้ไม่มีปุ่มยกเลิก การกด esc ไม่มีผล.
เมื่อคุณใช้กล่องข้อความระบบ-modal เพื่อบ่งชี้ว่า ระบบมีน้อยบนหน่วยความจำ สายอักขระที่ชี้ไปตามlpszTextและlpszCaptionสมาชิกของโครงสร้างMSGBOXPARAMSไม่ควรถูกนำมาจากแฟ้มทรัพยากร เนื่องจากความพยายามที่จะโหลดทรัพยากรอาจล้มเหลว.
เมื่อแอปพลิเคชันเรียกใช้MessageBoxIndirectและระบุค่าสถานะ MB_ICONHAND และ MB_SYSTEMMODAL สำหรับสมาชิกdwStyleของโครงสร้างMSGBOXPARAMSระบบจะแสดงในกล่องข้อความผลลัพธ์คำนึงถึงหน่วยความจำที่มีอยู่ เมื่อมีระบุค่าสถานะเหล่านี้ ระบบการจำกัดความยาวของข้อความกล่องข้อความสามบรรทัด ระบบไม่แบ่งบรรทัดให้พอดีกับกล่องข้อความ อย่างไรก็ตาม โดยอัตโนมัติเพื่อให้สายอักขระข้อความต้องประกอบด้วยอักขระการแบ่งบรรทัดที่สถานที่เหมาะสม.
ถ้าคุณสร้างกล่องข้อความในขณะที่กล่องโต้ตอบมีอยู่ ใช้หมายเลขอ้างอิงของกล่องโต้ตอบเป็นพารามิเตอร์hWnd พารามิเตอร์hWndไม่ควรระบุหน้าต่างลูก เช่นตัวควบคุมในกล่องโต้ตอบ.
Windows 95:ระบบสามารถรองรับได้สูงสุดของหมายเลขอ้างอิงหน้าต่าง 16,364.
nbsp Windows &NT:ต้องการเวอร์ชัน 4.0 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ไม่สนับสนุน
หัวข้อ:ประกาศใน winuser.h
ไลบรารีที่นำเข้า:ใช้ user32.lib
Unicode:นำมาใช้เป็น Unicode และ ANSI รุ่นบน Windows NT.
ภาพรวมของกล่องโต้ตอบฟังก์ชันของกล่องโต้ตอบ MessageBox, MessageBoxEx, MSGBOXPARAMS