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