ไม่มีกำหนดโครงสร้างของDLGITEMTEMPLATEEXในแฟ้มหัวข้อมาตรฐานใด ๆ การกำหนดโครงสร้างมาที่นี่เพื่ออธิบายรูปแบบของแม่แบบเพิ่มเติมสำหรับกล่องโต้ตอบ.
แม่แบบกล่องโต้ตอบเพิ่มเติมมีกลุ่มของข้อมูลที่ใช้รูปแบบDLGITEMTEMPLATEEXเพื่ออธิบายตัวควบคุม สำหรับตัวควบคุมในกล่องโต้ตอบ สำหรับคำอธิบายของรูปแบบของแม่แบบกล่องโต้ตอบเพิ่มเติม ดูDLGTEMPLATEEX.
typedef struct {DWORD helpID
DWORD exStyle
ลักษณะของ DWORD
สั้น x
y สั้น
cx สั้น
cy สั้น
คำรหัส
sz_Or_Ord windowClass / / ชื่อ หรือแสดงลำดับของคลาหน้าต่าง
ชื่อเรื่อง sz_Or_Ord / / ชื่อเรื่องสายอักขระหรือแสดงอันดับของทรัพยากร
WORD extraCount / / ไบต์ต่อการสร้างข้อมูล
} DLGITEMTEMPLATEEX
ถ้าองค์ประกอบแรกคือ 0xFFFF อาร์เรย์มีองค์ประกอบเพิ่มเติมที่หนึ่งที่ระบุค่าแสดงลำดับของคลาสระบบกำหนดไว้ล่วงหน้า เลขแสดงลำดับสามารถเป็นหนึ่งในค่าต่อไปนี้ของอะตอม.
ค่า | ความหมาย |
---|---|
0x0080 | ปุ่ม |
0x0081 | แก้ไข |
0x0082 | คง |
0x0083 | กล่องรายการ |
0x0084 | แถบเลื่อน |
0x0085 | กล่องคำสั่งผสม |
ถ้าองค์ประกอบแรกเป็นค่าใด ๆ ใช่ 0xFFFF ระบบถือว่าอาร์เรย์เป็นสตริง Unicode สิ้นสุดด้วยค่า null ที่ระบุข้อความเริ่มต้น.
แม่แบบเพิ่มเติมสำหรับกล่องโต้ตอบประกอบด้วยส่วนหัวDLGTEMPLATEEXตาม ด้วยโครงสร้างแบบDLGITEMTEMPLATEEXสำหรับตัวควบคุมในกล่องโต้ตอบ.
โครงสร้างแต่ละDLGITEMTEMPLATEEXต้องถูกจัดตำแหน่งบนขอบDWORD อาร์เรย์windowClassและชื่อเรื่องความยาวต้องถูกจัดตำแหน่งบนขอบเขตของWORD อาร์เรย์ข้อมูลการสร้าง ถ้ามี ต้องการจัดวางตำแหน่งบนขอบWORD.
ถ้าคุณได้ระบุสายอักขระที่มีอักขระในอาร์เรย์windowClassและชื่อเรื่องคุณต้องใช้สายอักขระ Unicode เมื่อต้องการสร้างรหัสที่ทำงานได้ทั้ง Windows และ Windows NT ใช้ฟังก์ชันMultiByteToWideCharในการสร้างสายอักขระ Unicode เหล่านี้.
สมาชิกx, y, cxและcyระบุค่าในหน่วยของกล่องโต้ตอบ คุณสามารถแปลงค่าเหล่านี้เป็นหน้าจอหน่วย (พิกเซล) โดยใช้ฟังก์ชันMapDialogRect.
nbsp Windows &NT:ต้องการรุ่น 3.51 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ไม่สนับสนุน.
ภาพรวมของกล่องโต้ตอบโครงสร้างของกล่องโต้ตอบ CreateDialogIndirect, CreateDialogIndirectParam, CreateWindowEx, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGTEMPLATE, DLGTEMPLATEEX, MapDialogRect, MultiByteToWideChar