DRAWITEMSTRUCT
DRAWITEMSTRUCTโครงสร้างแสดงหน้าต่างของเจ้าของข้อมูลต้องมีวิธีการระบายสีการวาดเจ้าของตัวควบคุมหรือรายการเมนู หน้าต่างเจ้าของวาดเจ้าของตัวควบคุมหรือรายการเมนูได้รับตัวชี้ไปยังโครงสร้างนี้เป็นพารามิเตอร์lParamของข้อความWM_DRAWITEM.
typedef struct tagDRAWITEMSTRUCT { / / dis UINT CtlType
UINT CtlID
UINT itemID
UINT itemAction
UINT itemState
HWND hwndItem
HDC hDC
RECT rcItem
DWORD itemData
} DRAWITEMSTRUCT
สมาชิก
-
CtlType
-
ระบุชนิดการควบคุม สมาชิกนี้สามารถเป็นหนึ่งในค่าต่อไปนี้:
| ค่า |
ความหมาย |
| ODT_BUTTON |
วาดเจ้าของปุ่ม |
| ODT_COMBOBOX |
กล่องคำสั่งผสมที่วาดเจ้า |
| ODT_LISTBOX |
กล่องวาดเจ้าของรายการ |
| ODT_LISTVIEW |
ตัวควบคุมมุมมองรายการ |
| ODT_MENU |
เมนูวาดเจ้าของสินค้า |
| ODT_STATIC |
วาดเจ้าของตัวควบคุมแบบสแตติก |
| ODT_TAB |
ตัวควบคุมแท็บ |
-
CtlID
-
ระบุตัวระบุของกล่องคำสั่งผสม กล่องรายการ ปุ่ม หรือควบคุมคง สมาชิกนี้ไม่ได้ถูกใช้สำหรับรายการเมนู.
-
itemID
-
ระบุตัวระบุรายการเมนูสำหรับรายการเมนูหรือดัชนีของรายการในกล่องรายการหรือกล่องคำสั่งผสม สำหรับกล่องรายการที่ว่างเปล่าหรือกล่องคำสั่งผสม สมาชิกนี้สามารถถูก 1 นี้ช่วยให้แอพลิเคชันเมื่อต้องการวาดสี่เหลี่ยมโฟกัสเฉพาะที่ที่พิกัดที่ระบุ โดยสมาชิกrcItemแม้ว่าจะไม่มีรายการในตัวควบคุม แสดงแก่ผู้ใช้ว่า กล่องเลือกรายการหรือกล่องคำสั่งผสมได้รับโฟกัส วิธีการตั้งค่าบิตที่ในสมาชิกitemActionเป็นตัวกำหนดว่า สี่เหลี่ยมจะวาดเหมือนกับกล่องรายการหรือกล่องคำสั่งผสมได้รับโฟกัส.
-
itemAction
-
ระบุจำเป็นต้องดำเนินการวาด สมาชิกนี้สามารถถูกอย่างน้อยหนึ่งค่าต่อไปนี้:
| ค่า |
ความหมาย |
| ODA_DRAWENTIRE |
ตัวควบคุมทั้งหมดที่ต้องการในการวาด. |
| ODA_FOCUS |
ตัวควบคุมมีการสูญหาย หรือได้รับโฟกัสแป้นพิมพ์ สมาชิกitemStateควรมีการตรวจสอบเพื่อตรวจสอบว่า ตัวควบคุมมีโฟกัส. |
| ODA_SELECT |
มีการเปลี่ยนแปลงสถานะเลือก สมาชิกitemStateควรมีการตรวจสอบเพื่อตรวจสอบสถานะเลือกใหม่. |
-
itemState
-
ระบุสถานะภาพของสินค้าหลังจากดำเนินการวาดรูปปัจจุบันเกิดขึ้น สมาชิกนี้สามารถเป็นการรวมกันของค่าต่อไปนี้:
| ค่า |
ความหมาย |
| ODS_CHECKED |
รายการเมนูที่จะตรวจสอบได้ บิตนี้ถูกใช้เฉพาะในเมนู. |
| ODS_COMBOBOXEDIT |
รูปวาดเกิดขึ้นในฟิลด์เลือก (แก้ไขตัวควบคุม) ของกล่องคำสั่งผสมที่วาดเจ้าของ. |
| ODS_DEFAULT |
สินค้ามีรายการค่าเริ่มต้น. |
| ODS_DISABLED |
รายการจะวาดเป็นการปิดการใช้งาน. |
| ODS_FOCUS |
สินค้ามีโฟกัสของแป้นพิมพ์. |
| ODS_GRAYED |
สินค้าจะเป็นสีเทา บิตนี้ถูกใช้เฉพาะในเมนู. |
| ODS_SELECTED |
สถานะของรายการเมนูถูกเลือก. |
-
hwndItem
-
จัดการตัวควบคุมสำหรับกล่องคำสั่งผสม กล่องรายการ ปุ่ม และการควบคุมแบบสแตติก สำหรับเมนู สมาชิกนี้ระบุถึงเมนูประกอบด้วยรายการ.
-
hDC
-
จัดการกับบริบทอุปกรณ์ บริบทนี้อุปกรณ์ที่ต้องใช้เมื่อทำการดำเนินการวาดรูปบนตัวควบคุม.
-
rcItem
-
ระบุที่กำหนดขอบเขตของตัวควบคุมเพื่อวาด สี่เหลี่ยม สี่เหลี่ยมผืนผ้านี้มีในบริบทของอุปกรณ์ที่ระบุ โดยสมาชิกhDC นอกจากนี้ระบบโดยอัตโนมัติคลิปให้อะไรเจ้าของหน้าต่างวาดในบริบทอุปกรณ์สำหรับกล่องคำสั่งผสม กล่องรายการ และปุ่ม แต่ภาพรายการเมนู เมื่อวาดเมนูสินค้า เจ้าของหน้าต่างต้องวาดเป็นภายนอกขอบเขตของสี่เหลี่ยมที่กำหนด โดยสมาชิกrcItem.
-
itemData
-
ระบุโปรแกรมประยุกต์กำหนด 32 บิตค่าที่สัมพันธ์กับรายการเมนู สำหรับตัวควบคุม พารามิเตอร์นี้ระบุค่ากำหนดให้กับกล่องรายการหรือกล่องคำสั่งผสมล่าสุด โดยข้อความLB_SETITEMDATAหรือCB_SETITEMDATA ถ้ากล่องรายการหรือกล่องคำสั่งผสมมีลักษณะ LBS_HASSTRINGS หรือ CBS_HASSTRINGS ค่านี้เป็นตอนแรกศูนย์ มิฉะนั้น ค่านี้จะเริ่มต้นด้วยค่าที่ถูกส่งผ่านไปยังกล่องรายการหรือกล่องคำสั่งผสมในพารามิเตอร์lParamหนึ่งข้อความต่อไปนี้:
-
CB_ADDSTRING
-
CB_INSERTSTRING
-
LB_ADDSTRING
-
LB_INSERTSTRING
ถ้าctlTypeเป็น ODT_BUTTON หรือ ODT_STATIC คือ ศูนย์.
QuickInfo
nbsp Windows &NT:ต้องการเวอร์ชัน 3.1 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h.
ดูเพิ่มเติม
ภาพรวมของกล่องคำสั่งผสมโครงสร้างกล่องคำสั่งผสม CB_ADDSTRING, CB_INSERTSTRING, CB_SETITEMDATA, LB_ADDSTRING, LB_INSERTSTRING, LB_SETITEMDATA, WM_DRAWITEM
Index