ฟังก์ชันModifyMenuการเปลี่ยนแปลงรายการเมนูที่มีอยู่ ใช้ฟังก์ชันนี้เพื่อระบุเนื้อหา ลักษณะ และลักษณะการทำงานของรายการเมนู.
ฟังก์ชันModifyMenuจะได้ถูกแทนที่ โดยฟังก์ชันSetMenuItemInfo คุณยังสามารถใช้ModifyMenuอย่างไรก็ตาม ถ้าคุณไม่จำเป็นใด ๆ ในคุณลักษณะเพิ่มเติมของSetMenuItemInfo.
(BOOL ModifyMenu HMENU hMnu, / / จัดการเมนูUINTuPosition, / / เมนูรายการการปรับเปลี่ยนUINTuFlags, / / ตั้งค่าสถานะรายการเมนูUINTuIDNewItem, / / เมนูสินค้ารหัส หรือจัดการการหล่น / / เมนูหรือเมนูย่อยLPCTSTRlpNewItem / / เมนูรายการเนื้อหา);
ค่า | ความหมาย |
---|---|
MF_BYCOMMAND | บ่งชี้ว่า พารามิเตอร์uPositionให้ตัวระบุของรายการเมนู ตั้งค่าสถานะ MF_BYCOMMAND เป็นค่าเริ่มต้นถ้ามีระบุค่าสถานะทั้ง MF_BYCOMMAND และ MF_BYPOSITION. |
MF_BYPOSITION | บ่งชี้ว่า พารามิเตอร์uPosition zero-based ตำแหน่งสัมพัทธ์ของรายการเมนูช่วยให้. |
ค่า | ความหมาย |
---|---|
MF_BITMAP | ประกอบด้วยตัวจัดการรูปบิตแมป. |
MF_OWNERDRAW | ประกอบด้วยค่า 32 บิตโดยโปรแกรมประยุกต์ที่ใช้ในการเก็บรักษาข้อมูลที่เกี่ยวข้องกับรายการเมนูเพิ่มเติม ค่าอยู่ในสมาชิกitemDataของโครงสร้างที่ชี้ไปตามพารามิเตอร์lparamของWM_MEASUREITEMหรือWM_DRAWITEMส่งเมื่อรายการเมนูถูกสร้างขึ้น หรือมีการปรับปรุงลักษณะที่ปรากฏของข้อความ. |
MF_STRING | ประกอบด้วยตัวชี้ไปยังสายสิ้นสุดด้วยค่า null (ค่าเริ่มต้น). |
ถ้าฟังก์ชันสำเร็จ ค่าส่งกลับจะไม่ใช่ศูนย์.
ถ้าฟังก์ชันล้มเหลว ส่งคืนค่าเป็นศูนย์ การรับข้อมูลความผิดพลาดแบบขยาย เรียกGetLastError.
ถ้าModifyMenuแทนที่รายการเมนูที่เปิดแบบหล่นลงเมนูหรือเมนูย่อย ฟังก์ชันการขัดเก่าแบบหล่นลงเมนูหรือเมนูย่อย และทำให้หน่วยความจำที่ใช้ได้.
ในใบสั่งสำหรับ accelerators แป้นพิมพ์เพื่อทำงานกับบิตแมปหรือรายการเมนูวาดเจ้า เจ้าของเมนูต้องประมวลผลข้อความ WM_MENUCHAR ดูOwner-Drawn เมนูและข้อความ WM_MENUCHARสำหรับข้อมูลเพิ่มเติม.
โปรแกรมประยุกต์ต้องเรียกใช้ฟังก์ชันDrawMenuBarทุกครั้งเปลี่ยนแปลงเมนู เมนูอยู่ในหน้าต่างแสดงหรือไม่ เมื่อต้องการเปลี่ยนแอตทริบิวต์ของรายการเมนูที่มีอยู่แล้ว จะเร็วมากในการใช้ฟังก์ชันCheckMenuItemและEnableMenuItem.
รายการต่อไปนี้อธิบายถึงค่าสถานะที่อาจถูกตั้งค่าในพารามิเตอร์uFlags:
ค่า | ความหมาย |
---|---|
MF_BITMAP | ใช้บิตแมปเป็นรายการเมนู หมายเลขอ้างอิงกับบิตแมปประกอบด้วยพารามิเตอร์lpNewItem. |
MF_BYCOMMAND | บ่งชี้ว่า พารามิเตอร์uPositionระบุตัวระบุของรายการเมนู (ค่าเริ่มต้น). |
MF_BYPOSITION | บ่งชี้ว่า พารามิเตอร์uPositionระบุตำแหน่งสัมพัทธ์ zero-based ของรายการเมนูใหม่. |
MF_CHECKED | วางเครื่องหมายถูกที่อยู่ถัดจากรายการ ถ้าโปรแกรมประยุกต์ของคุณมีบิตแมปของเครื่องหมาย (โปรดดูฟังก์ชันSetMenuItemBitmaps ), ธงนี้แสดงเป็นรูปบิตแมปที่ตรวจสอบอยู่ติดกับรายการเมนู. |
MF_DISABLED | ปิดใช้งานรายการเมนูเพื่อให้มันไม่สามารถเลือก แต่สีขาวพื้นธงนี้ไม่เทานั้น. |
MF_ENABLED | ทำให้รายการเมนูให้คุณสามารถเลือก และคืนค่าระบบจากสถานะที่เป็นสีเทา. |
MF_GRAYED | ปิดใช้งานรายการเมนู และ grays เพื่อว่าจะไม่เลือก. |
MF_MENUBARBREAK | ฟังก์ชันเดียวกันเป็น MF_MENUBREAK ค่าสถานะสำหรับแถบเมนู สำหรับเมนูแบบหล่นลง เมนูย่อย หรือเมนูลัด คอลัมน์ใหม่คือแยกจากคอลัมน์เก่า ด้วยเส้นแนวตั้ง. |
MF_MENUBREAK | วางสินค้าบนบรรทัดใหม่ (สำหรับแถบเมนู) หรือ ในคอลัมน์ใหม่ (สำหรับเมนูแบบหล่นลง เมนูย่อย หรือเมนูทางลัด) โดยไม่มีการแบ่งคอลัมน์. |
MF_OWNERDRAW | ระบุว่า สินค้านั้น วาดเจ้าของสินค้า ก่อนแสดงเมนูเป็นครั้งแรก หน้าต่างที่เป็นเจ้าของเมนูได้รับข้อความWM_MEASUREITEMในการเรียกความกว้างและความสูงของรายการเมนู WM_DRAWITEMถูกแล้วส่งข้อความลงในกระบวนงานของหน้าต่างของเจ้าของหน้าต่างเมื่อใดก็ ตามต้องมีการปรับปรุงลักษณะที่ปรากฏของรายการเมนู. |
MF_POPUP | ระบุว่า รายการเมนูที่เปิดแบบหล่นลงเมนูหรือเมนูย่อย พารามิเตอร์uIDNewItemระบุหมายเลขอ้างอิงการแบบหล่นลงเมนูหรือเมนูย่อย ธงนี้ใช้ในการเพิ่มชื่อเมนูแถบเมนูหรือรายการเมนูที่เปิดเมนูย่อยไปยังเมนูแบบหล่นลง เมนูย่อย หรือเมนูทางลัด. |
MF_SEPARATOR | วาดเส้นแนวนอน dividing ธงนี้ถูกใช้เฉพาะในเมนูแบบหล่นลง เมนูย่อย หรือเมนูทางลัด บรรทัดไม่สามารถสีเทา ปิดการใช้งาน หรือเน้น พารามิเตอร์lpNewItemและuIDNewItemจะถูกละเว้น. |
MF_STRING | ระบุว่า รายการเมนูที่เป็นสตริงข้อความ พารามิเตอร์lpNewItemชี้ไปยังสตริง. |
MF_UNCHECKED | ไม่ได้ทำเครื่องหมายถูกที่อยู่ถัดจากรายการ (ค่าเริ่มต้น) ถ้าโปรแกรมประยุกต์ของคุณหน้า ๆ บิตแมปของเครื่องหมาย (โปรดดูฟังก์ชันSetMenuItemBitmaps ), ธงนี้แสดงบิตแมปที่ไม่กาเครื่องหมายอยู่ติดกับรายการเมนู. |
กลุ่มของค่าสถานะต่อไปนี้ไม่สามารถใช้ร่วมกัน:
ภาพรวมของเมนูเมนูฟังก์ชัน AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM