การประมวลผลข้อความ WM_DRAWITEM

มีกล่องคำสั่งผสมที่วาดเจ้าส่งข้อความWM_DRAWITEMกระบวนการหลักโต้ตอบหรือหน้าต่างกล่องงานแต่ละครั้งที่โปรแกรมประยุกต์ต้องวาดรายการ พารามิเตอร์lParamชี้โครงสร้างแบบDRAWITEMSTRUCTซึ่งระบุสินค้ารายการและตัวควบคุม มันยังประกอบด้วยข้อมูลที่จำเป็นในการระบายสินค้า.

ตัวอย่างในการสร้างสี่เหลี่ยมอาหารกล่องโต้ตอบแสดงรายการรายชื่อข้อความและบิตแมปที่เกี่ยวข้องกับกลุ่มอาหาร ถ้าสินค้าถูกโฟกัส มันยังวาดสี่เหลี่ยมโฟกัส ก่อนที่จะแสดงข้อความ ตัวอย่างชุดสีเบื้องหน้าและเบื้องหลัง ตามรายการที่เลือก เนื่องจากกล่องคำสั่งผสมมีลักษณะ CBS_HASSTRINGS กล่องคำสั่งผสมรักษาข้อความสำหรับแต่ละรายการซึ่งสามารถเรียกใช้ข้อความCB_GETLBTEXT.

บิตแมปที่ใช้สำหรับรายการขึ้นกับกลุ่มอาหาร InitGroupList CB_SETITEMDATAข้อความใช้การเชื่อมโยงค่าคงที่กับสินค้าแต่ละรายการ การระบุกลุ่มอาหารสอดคล้องกัน ขั้นตอนในหน้าต่างใช้ค่านี้ มีอยู่ในโครงสร้างDRAWITEMSTRUCTกรรมการitemDataเพื่อกำหนดบิตแมปที่แสดง ระบบใช้บิตแมปที่สองสำหรับแต่ละสัญลักษณ์กลุ่มของอาหาร: บิตแมปกับการดำเนินการแบบ raster SRCAND เมื่อต้องการลบขอบเขตไม่สม่ำเสมออยู่เบื้องหลังรูปขาวดำ และบิตแมปสีกับการดำเนินการแบบ raster SRCPAINT การระบายสีภาพ.