DRAWITEMSTRUCT โครงสร้าง

โครงสร้างของDRAWITEMSTRUCTมีแบบฟอร์มต่อไปนี้:

typedef struct tagDRAWITEMSTRUCT {
 nbsp  UINT CtlType
    UINT CtlID
    UINT itemID
    UINT itemAction
    UINT itemState
    HWND hwndItem
    HDC hDC
    RECT rcItem
    DWORD itemData
} DRAWITEMSTRUCT(&N)

DRAWITEMSTRUCTโครงสร้างแสดงหน้าต่างของเจ้าของข้อมูลต้องมีวิธีการระบายสีการวาดเจ้าของตัวควบคุมหรือรายการเมนู หน้าต่างเจ้าของวาดเจ้าของตัวควบคุมหรือรายการเมนูได้รับตัวชี้ไปยังโครงสร้างนี้เป็นพารามิเตอร์lParamของข้อความWM_DRAWITEM?

สมาชิก

CtlType

ชนิดของตัวควบคุม ค่าของตัวควบคุมชนิดมีดังนี้:

CtlID

หมายเลขตัวควบคุมสำหรับกล่องคำสั่งผสม กล่องรายการ หรือปุ่ม สมาชิกนี้ไม่ได้ถูกใช้สำหรับเมนู?

itemID

ID รายการเมนูสำหรับเมนูหรือดัชนีของรายการในกล่องรายการหรือกล่องคำสั่งผสม สำหรับกล่องรายการที่ว่างเปล่าหรือกล่องคำสั่งผสม สมาชิกนี้จะเป็นค่าลบ ซึ่งช่วยให้แอพลิเคชันเมื่อต้องการวาดสี่เหลี่ยมโฟกัสเฉพาะที่ที่พิกัดที่ระบุ โดยสมาชิกrcItemแม้ว่าจะไม่มีรายการในตัวควบคุม ผู้ใช้จึงสามารถแสดงว่า กล่องรายการหรือกล่องคำสั่งผสมมีโฟกัสป้อนข้อมูล การตั้งค่าของบิตที่ในสมาชิกitemActionเป็นตัวกำหนดว่า สี่เหลี่ยมจะวาดเหมือนกับกล่องรายการหรือกล่องคำสั่งผสมที่มีการป้อนข้อมูลโฟกัส?

itemAction

กำหนดจำเป็นต้องดำเนินการวาด จะเป็นบิตต่อไปนี้อย่างน้อยหนึ่งอย่าง:

itemState

ระบุสถานะภาพของสินค้าหลังจากดำเนินการวาดรูปปัจจุบันเกิดขึ้น กล่าวคือ ถ้ารายการเมนู มีสีจะจาง ธงรัฐจะถูกตั้งค่าODS_GRAYED ค่าสถานะรัฐมีดังนี้:

hwndItem

ระบุหมายเลขอ้างอิงหน้าต่างของตัวควบคุมสำหรับกล่องคำสั่งผสม กล่องรายการ และปุ่ม ระบุหมายเลขอ้างอิงของเมนู (HMENU) ที่ประกอบด้วยรายการสำหรับเมนู?

hDC

บริบทอุปกรณ์ระบุ บริบทนี้อุปกรณ์ที่ต้องใช้เมื่อทำการดำเนินการวาดรูปบนตัวควบคุม?

rcItem

ในบริบทของอุปกรณ์ที่ระบุ โดยสมาชิกhDCที่กำหนดขอบเขตของตัวควบคุมเพื่อวาด สี่เหลี่ยม Windows โดยอัตโนมัติคลิปอะไรเจ้าวาดในบริบทอุปกรณ์สำหรับกล่องคำสั่งผสม กล่องรายการ และปุ่ม แต่มันไม่คลิปรายการเมนู เมื่อวาดเมนูสินค้า เจ้าของต้องวาดเป็นภายนอกขอบเขตของสี่เหลี่ยมที่กำหนด โดยสมาชิกrcItem?

itemData

สำหรับกล่องคำสั่งผสมหรือกล่องรายการ สมาชิกนี้ประกอบด้วยค่าที่ถูกส่งผ่านไปยังกล่องรายการตามอย่างใดอย่างหนึ่งต่อไปนี้:

ดูเพิ่มเติมnbspCWnd::OnDrawItem(&N)

Index