วาดเจ้าของกล่องรายการ

แอปพลิเคชันสามารถสร้างกล่องรายการลากเจ้าของรับผิดชอบสำหรับการวาดภาพในรายการ แม่หน้าต่างหรือกล่องโต้ตอบของการวาดเจ้าของกล่องรายการ (กับเจ้าของ) ได้รับข้อความWM_DRAWITEMเมื่อส่วนของกล่องรายการต้องเป็นทาสี กล่องการวาดเจ้าของรายการสามารถแสดงรายการข้อมูลอื่นนอกเหนือจาก หรือในนอกจาก สตริงข้อความ.

เจ้าของกล่องวาดเจ้าของรายการต้องทำการประมวลผลข้อความ WM_DRAWITEM มีส่งข้อความนี้เมื่อใดก็ ตามส่วนของกล่องรายการต้องถูกวาดขึ้นมาใหม่ เจ้าของอาจต้องประมวลผลข้อความอื่น ๆ ทั้งนี้ขึ้นอยู่กับลักษณะที่ระบุสำหรับกล่องรายการ.

แอปพลิเคชันสามารถสร้างกล่องรายการที่วาดเจ้า โดยการระบุลักษณะ LBS_OWNERDRAWFIXED หรือ LBS_OWNERDRAWVARIABLE ถ้าสินค้าทั้งหมดของรายการในกล่องรายการมีความสูง เช่นสายอักขระหรือไอคอน แอปพลิเคชันสามารถใช้สไตล์ LBS_OWNERDRAWFIXED ถ้ารายการเป็นของแตกต่างสูง บิตแมปขนาดแตกต่างกัน ตัวอย่าง แอปพลิเคชันสามารถใช้สไตล์ LBS_OWNERDRAWVARIABLE.

เจ้าของกล่องการวาดเจ้าของรายการสามารถทำการประมวลผลข้อความWM_MEASUREITEMเพื่อระบุขนาดของรายการในชุดรายการ ถ้าแอพลิเคชันสร้างกล่องรายการ ด้วยการใช้ลักษณะ LBS_OWNERDRAWFIXED ระบบส่งข้อความ WM_MEASUREITEM เพียงครั้งเดียว ขนาดที่ระบุ โดยเจ้าของถูกใช้สำหรับสินค้ารายการทั้งหมด หากมีใช้ลักษณะ LBS_OWNERDRAWVARIABLE ระบบส่งข้อความ WM_MEASUREITEM สำหรับสินค้าแต่ละรายการถูกเพิ่มลงในกล่องรายการ เจ้าของสามารถตรวจสอบ หรือการตั้งค่าความสูงของรายการตลอดเวลา โดยใช้ข้อความ LB_GETITEMHEIGHTและ LB_SETITEMHEIGHTตามลำดับ.

ถ้าข้อมูลที่แสดงในกล่องการวาดเจ้าของรายการประกอบด้วยข้อความ แอปพลิเคชันสามารถเก็บติดตามของข้อความสำหรับแต่ละรายการ โดยการระบุลักษณะ LBS_HASSTRINGS กล่องรายการที่ มีลักษณะ LBS_SORT จะถูกเรียงลำดับตามข้อความนี้ ถ้ากล่องรายการจะถูกจัดเรียง แต่ไม่ใช่ลักษณะ LBS_HASSTRINGS เจ้าของต้องประมวลผลข้อความWM_COMPAREITEM.

ในกล่องรายการที่วาดเจ้า เจ้าของต้องเก็บติดตามของรายการที่ประกอบด้วยข้อมูลอื่น ๆ นอกเหนือจาก หรือนอกเหนือจาก เป็นข้อความ หนึ่งวิธีที่สะดวกในการทำเช่นนี้เป็นการ บันทึกหมายเลขอ้างอิงถึงข้อมูลที่เป็นข้อมูลสินค้าที่ใช้ข้อความLB_SETITEMDATA การเพิ่มวัตถุข้อมูลที่เกี่ยวข้องกับรายการในกล่องรายการว่าง เจ้าของสามารถประมวลผลข้อความWM_DELETEITEM.

สำหรับตัวอย่างของกล่องการวาดเจ้าของรายการ ดูการสร้างกล่องรายการ Owner-Drawn.

Index