ModifyMenu

ฟังก์ชันModifyMenuการเปลี่ยนแปลงรายการเมนูที่มีอยู่ ใช้ฟังก์ชันนี้เพื่อระบุเนื้อหา ลักษณะ และลักษณะการทำงานของรายการเมนู.

ฟังก์ชันModifyMenuจะได้ถูกแทนที่ โดยฟังก์ชันSetMenuItemInfo คุณยังสามารถใช้ModifyMenuอย่างไรก็ตาม ถ้าคุณไม่จำเป็นใด ๆ ในคุณลักษณะเพิ่มเติมของSetMenuItemInfo.

(BOOL ModifyMenu HMENU  hMnu, / / จัดการเมนูUINTuPosition, / / เมนูรายการการปรับเปลี่ยนUINTuFlags, / / ตั้งค่าสถานะรายการเมนูUINTuIDNewItem, / / เมนูสินค้ารหัส หรือจัดการการหล่น / / เมนูหรือเมนูย่อยLPCTSTRlpNewItem / / เมนูรายการเนื้อหา);
 

พารามิเตอร์

hMnu
จัดการเมนูเปลี่ยนแปลง.
uPosition
ระบุรายการเมนูเปลี่ยนแปลง ตามที่กำหนด โดยพารามิเตอร์uFlags.
uFlags
ระบุสถานะที่ควบคุมการตีความเนื้อความของพารามิเตอร์uPositionและเนื้อหา ลักษณะ และลักษณะการทำงานของรายการเมนู พารามิเตอร์นี้ต้องเป็นอย่างใดอย่างหนึ่งต่อไปนี้ต้องใช้ค่าและอย่างน้อยหนึ่งในค่าที่แสดงในส่วนข้อสังเกตต่อไปนี้.
ค่า ความหมาย
MF_BYCOMMAND บ่งชี้ว่า พารามิเตอร์uPositionให้ตัวระบุของรายการเมนู ตั้งค่าสถานะ MF_BYCOMMAND เป็นค่าเริ่มต้นถ้ามีระบุค่าสถานะทั้ง MF_BYCOMMAND และ MF_BYPOSITION.
MF_BYPOSITION บ่งชี้ว่า พารามิเตอร์uPosition zero-based ตำแหน่งสัมพัทธ์ของรายการเมนูช่วยให้.

uIDNewItem
ระบุเป็นตัวระบุของรายการเมนูแก้ไข หรือ ถ้าพารามิเตอร์uFlagsมี ค่าสถานะ MF_POPUP กำหนด หมายเลขอ้างอิงการแบบหล่นลงเมนูหรือเมนูย่อย.
lpNewItem
ชี้ไปยังเนื้อหาของรายการเมนูที่เปลี่ยนแปลง การตีความเนื้อความของพารามิเตอร์นี้ขึ้นกับว่าพารามิเตอร์uFlagsมีค่าสถานะ MF_BITMAP, MF_OWNERDRAW หรือ MF_STRING.
ค่า ความหมาย
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

Index