MENUITEMINFO

โครงสร้างของMENUITEMINFOประกอบด้วยข้อมูลเกี่ยวกับรายการเมนู.

typedef struct tagMENUITEMINFO {
    UINT cbSize 
    UINT fMask 
    UINT fType 
    UINT fState 
    UINT wID 
    HMENU hSubMenu 
    HBITMAP hbmpChecked 
    HBITMAP hbmpUnchecked 
    DWORD dwItemData 
    LPTSTR dwTypeData 
    UINT cch 
} MENUITEMINFO ไกล * LPMENUITEMINFO 

 

สมาชิก

cbSize
ขนาดของโครงสร้าง ไบต์.
fMask
สมาชิกสามารถเรียก หรือการตั้งค่า สมาชิกนี้สามารถเป็นค่าเหล่านี้อย่างน้อยหนึ่งอย่าง:
ค่า ความหมาย
MIIM_CHECKMARKS ดึงข้อมูล หรือการตั้งค่าสมาชิกhbmpCheckedและhbmpUnchecked.
MIIM_DATA ดึงข้อมูล หรือการตั้งค่าสมาชิกdwItemData.
MIIM_ID ดึงข้อมูล หรือการตั้งค่าสมาชิกwID.
MIIM_STATE ดึงข้อมูล หรือการตั้งค่าสมาชิกfState.
MIIM_SUBMENU ดึงข้อมูล หรือการตั้งค่าสมาชิกhSubMenu.
MIIM_TYPE ดึงข้อมูล หรือการตั้งค่าสมาชิกfTypeและdwTypeData.

fType
ชนิดของรายการเมนู สมาชิกนี้สามารถเป็นค่าเหล่านี้อย่างน้อยหนึ่งอย่าง:
ค่า ความหมาย
MFT_BITMAP แสดงรายการเมนูใช้บิตแมป คำต่ำลำดับของสมาชิกdwTypeDataเป็นหมายเลขอ้างอิงของบิตแมป และสมาชิกcchจะถูกละเว้น.
MFT_MENUBARBREAK วางรายการเมนูบนบรรทัดใหม่ (สำหรับแถบเมนู) หรือ ในคอลัมน์ใหม่ (สำหรับเมนูแบบหล่นลง เมนูย่อย หรือเมนูทางลัด) สำหรับเมนูแบบหล่นลง เมนูย่อย หรือเมนูลัด เส้นแนวตั้งแยกคอลัมน์ใหม่จากเดิม.
MFT_MENUBREAK วางรายการเมนูบนบรรทัดใหม่ (สำหรับแถบเมนู) หรือ ในคอลัมน์ใหม่ (สำหรับเมนูแบบหล่นลง เมนูย่อย หรือเมนูทางลัด) สำหรับเมนูแบบหล่นลง เมนูย่อย หรือเมนูลัด คอลัมน์จะไม่ถูกแยก ด้วยเส้นแนวตั้ง.
MFT_OWNERDRAW กำหนดความรับผิดชอบสำหรับการวาดเมนูสินค้าไปยังหน้าต่างที่เป็นเจ้าของเมนู หน้าต่างได้รับข้อความWM_MEASUREITEMก่อนแสดงเมนูเป็นครั้งแรก และWM_DRAWITEMข้อความทุกครั้งต้องมีการปรับปรุงลักษณะที่ปรากฏของรายการเมนู ถ้ามีระบุค่านี้ สมาชิกdwTypeDataมีค่ากำหนดแอพพลิเคชัน 32 บิต.
MFT_RADIOCHECK ตรวจสอบแสดงรายการเมนูที่ใช้วิทยุปุ่มเครื่องหมายแทนของเครื่องหมายถูกถ้าสมาชิกhbmpCheckedเป็น NULL.
MFT_RIGHTJUSTIFY จัดชิดขวารายการเมนูและรายการอื่น ๆ ตามมา ค่านี้จะถูกต้องก็ต่อเมื่อรายการเมนูอยู่ในแถบเมนู.
MFT_RIGHTORDER Windows 95, Windows NT 5.0 และรุ่นที่ใหม่กว่า:ระบุว่า เมนูแบบเรียงซ้อนไปซ้ายขวา (ค่าเริ่มต้นเป็นซ้ายไปขวา) นี้จะใช้เพื่อสนับสนุนภาษาขวาไปซ้าย เช่นภาษาอาหรับและภาษาฮิบรู `
MFT_SEPARATOR ระบุว่า รายการเมนูที่มีตัวคั่น ตัวคั่นรายการเมนูปรากฏเป็นเส้นแนวนอน dividing สมาชิกdwTypeDataและcchจะถูกละเว้น ค่านี้มีผลบังคับใช้เฉพาะในเมนูแบบหล่นลง เมนูย่อย หรือเมนูทางลัด.
MFT_STRING แสดงรายการเมนูใช้สตริงข้อความ สมาชิกdwTypeDataเป็นตัวชี้ในสายอักขระที่สิ้นสุดด้วย null และสมาชิกcchคือความยาวของสายอักขระ.

ค่า MFT_BITMAP, MFT_SEPARATOR และ MFT_STRING ไม่สามารถรวมกับคนอื่น.

fState
สถานะของรายการเมนู สมาชิกนี้สามารถเป็นค่าเหล่านี้อย่างน้อยหนึ่งอย่าง:
ค่า ความหมาย
MFS_CHECKED ตรวจสอบรายการเมนู สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเมนูตรวจสอบสินค้า ดูสมาชิกhbmpChecked.
MFS_DEFAULT ระบุว่า รายการเมนูที่เป็นค่าเริ่มต้น เมนูสามารถประกอบด้วยได้เพียงหนึ่งค่าเริ่มต้นรายการเมนู ซึ่งถูกแสดงเป็นตัวหนา.
MFS_DISABLED ปิดใช้งานรายการเมนูเพื่อให้มันไม่สามารถเลือก แต่สีขาวพื้นไม่เทานั้น.
MFS_ENABLED ทำให้รายการเมนูเพื่อให้คุณสามารถเลือก นี่คือสถานะเริ่มต้น.
MFS_GRAYED ปิดใช้งานรายการเมนู และ grays เพื่อว่าจะไม่เลือก.
MFS_HILITE เน้นรายการเมนู.
MFS_UNCHECKED Unchecks รายการเมนู สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเมนูไม่ได้ตรวจสอบสินค้า ดูสมาชิกhbmpUnchecked.
MFS_UNHILITE เอาออกการเน้นจากรายการเมนู นี่คือสถานะเริ่มต้น.

wID
โปรแกรมประยุกต์กำหนด 16 บิตค่าที่ระบุในรายการเมนู.
hSubMenu
จัดการการแบบหล่นลงเมนูหรือเมนูย่อยที่เกี่ยวข้องกับรายการเมนู ถ้ารายการเมนูไม่ใช่สินค้าที่เปิดแบบหล่นลงเมนูหรือเมนูย่อย สมาชิกนี้เป็น NULL.
hbmpChecked
จัดการกับบิตแมปที่จะแสดงถัดจากรายการหากมีการตรวจสอบ ถ้าสมาชิกนี้เป็น NULL มีใช้บิตแมปเริ่มต้น ถ้ามีระบุค่าชนิด MFT_RADIOCHECK บิตแมปเริ่มต้นเป็นการแสดงหัวข้อย่อย มิฉะนั้น เป็นเครื่องหมาย.
hbmpUnchecked
จัดการกับบิตแมปเพื่อแสดงอยู่ติดกับรายการถ้าถูกตรวจสอบไม่ ถ้าสมาชิกนี้ NULL ไม่มีบิตแมปจะใช้.
dwItemData
โปรแกรมประยุกต์กำหนดค่าเกี่ยวข้องกับรายการเมนู.
dwTypeData
เนื้อหาของรายการเมนู สมาชิกนี้จะใช้เฉพาะเมื่อตั้งค่าสถานะ MIIM_TYPE ถูกตั้งค่าในสมาชิกfMask.

ก่อนที่จะโทรGetMenuItemInfoแอพลิเคชันต้องตั้งค่าสมาชิกนี้ชี้ไปที่การบัฟเฟอร์ที่ระบุ โดยสมาชิก cch มีความยาว หากเรียกเมนูสินค้าเป็นชนิด MFT_STRING คลิGetMenuItemInfoการคัดลอกข้อความรายการเมนูการบัฟเฟอร์ ถ้ารายการเมนูที่ดึงข้อมูลมีชนิดอื่น ๆ แล้วGetMenuItemInfoตั้งสมาชิกdwTypeDataที่ระบุ โดยสมาชิกfTypeมีชนิดค่า.

เมื่อใช้ร่วมกับฟังก์ชันSetMenuItemInfoสมาชิกนี้ควรประกอบด้วยค่าชนิดที่ระบุ โดยสมาชิกfType.

cch
ความยาวของข้อความรายการเมนูเมื่อมีรับข้อมูลเกี่ยวกับรายการเมนูชนิด MFT_STRING สมาชิกนี้จะใช้เฉพาะเมื่อตั้งค่าสถานะ MIIM_TYPE ถูกตั้งค่าในสมาชิกfMaskและเป็นศูนย์ สมาชิกนี้จะถูกละเว้นเมื่อมีการตั้งค่าเนื้อหาของรายการเมนู โดยการเรียกSetMenuItemInfo.

ก่อนที่จะเรียกGetMenuItemInfoแอพลิเคชันต้องตั้งค่าสมาชิกนี้ความยาวของบัฟเฟอร์ที่ชี้ไป โดยสมาชิกdwTypeData หากเรียกเมนูสินค้าเป็นชนิด MFT_STRING (ตามที่ระบุโดยfType ), แล้วGetMenuItemInfoชุดcchความยาวของสายอักขระที่มีการดึงข้อมูล ถ้ารายการเมนูที่ดึงข้อมูลมีชนิดอื่น ๆGetMenuItemInfoตั้งค่าเขตข้อมูลcchเป็นศูนย์.

หมายเหตุ

มีใช้โครงสร้างMENUITEMINFOด้วยฟังก์ชันGetMenuItemInfo, InsertMenuItemและSetMenuItemInfo.

QuickInfo

nbsp Windows &NT:ต้องการเวอร์ชัน 4.0 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h
Unicode:กำหนดเป็นโครงสร้างแบบ Unicode และ ANSI.

ดูเพิ่มเติม

ภาพรวมของเมนูโครงสร้างเมนู GetMenuItemInfo, InsertMenuItem, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM