CMenu::ModifyMenu

BOOL ModifyMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL );

BOOL ModifyMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap * pBmp );

ส่งกลับค่า

ไม่ใช่ศูนย์ถ้าฟังก์ชันนี้จะสำเร็จ 0 อื่น?

พารามิเตอร์

nPosition

ระบุรายการเมนูเปลี่ยนแปลง สามารถใช้พารามิเตอร์nFlagsตีnPositionด้วยวิธีการดังต่อไปนี้:

nFlags การตีความเนื้อความของ nPosition
MF_BYCOMMAND ระบุพารามิเตอร์ให้สั่ง ID ของรายการเมนูที่มีอยู่ นี่คือค่าเริ่มต้นถ้าทั้งMF_BYCOMMANDและMF_BYPOSITIONถูกตั้งค่า?
MF_BYPOSITION ระบุพารามิเตอร์ให้ตำแหน่งของรายการเมนูที่มีอยู่ รายการแรกอยู่ที่ตำแหน่ง 0?

nFlags

ระบุวิธีการตีความnPositionและให้ข้อมูลเกี่ยวกับการเปลี่ยนแปลงที่ทำกับรายการเมนู สำหรับรายการของค่าสถานะที่คุณอาจตั้งค่า ดูฟังก์ชันสมาชิกAppendMenu?

nIDNewItem

ระบุเป็นคำสั่ง ID ของรายการเมนูแก้ไข หรือnFlagsถูกตั้งค่าเป็นMF_POPUPการจัดการเมนู (HMENU) ของเมนูแบบผุดขึ้น พารามิเตอร์nIDNewItemถูกละเว้น (ไม่จำเป็น) ถ้าnFlagsถูกตั้งค่าเป็นMF_SEPARATOR?

lpszNewItem

ระบุเนื้อหาของรายการเมนูใหม่ สามารถใช้พารามิเตอร์nFlagsตีlpszNewItemด้วยวิธีการดังต่อไปนี้:

nFlags การตีความเนื้อความของ lpszNewItem
MF_OWNERDRAW ประกอบด้วยค่า 32 บิตมาจากโปรแกรมประยุกต์ที่โปรแกรมประยุกต์ที่สามารถใช้เพื่อรักษาข้อมูลเพิ่มเติมที่เกี่ยวข้องกับรายการเมนู ค่า 32 บิตนี้จะพร้อมใช้งานสำหรับโปรแกรมประยุกต์เมื่อดำเนินกับMF_MEASUREITEMและMF_DRAWITEM?
MF_STRING ประกอบด้วยตัวชี้ความยาวสตริสิ้นสุดด้วยค่า null หรือCString?
MF_SEPARATOR พารามิเตอร์lpszNewItemจะถูกละเว้น (ไม่จำเป็น)?

pBmp

จุดCBitmapวัตถุที่จะใช้เป็นรายการเมนู?

หมายเหตุ

เปลี่ยนรายการเมนูที่มีอยู่ที่ตำแหน่งที่ระบุโดยnPosition โปรแกรมประยุกต์ที่ระบุสถานะของรายการเมนูใหม่ โดยการกำหนดค่าในnFlags ถ้าฟังก์ชันนี้แทนที่เมนูผุดขึ้นเกี่ยวข้องกับรายการเมนู ขัดเมนูผุดขึ้นเก่า และทำให้หน่วยความจำที่ใช้ โดยเมนูแบบผุดขึ้น?

เมื่อnIDNewItemระบุเมนูแบบผุดขึ้น มันกลายเป็นส่วนหนึ่งของเมนูที่จะถูกแทรก ถ้าเมนูที่ถูกทำลาย เมนู'แทรก'จะยังถูกทำลาย เมนูแทรกจะถูกเอาออกจากวัตถุCMenuในการหลีกเลี่ยงความขัดแย้ง?

เมื่อใดก็ ตามเมนูที่อยู่ในหน้าต่างมีการเปลี่ยนแปลง (หรือไม่มีแสดงหน้าต่าง), แอพลิเคชันควรเรียกCWnd::DrawMenuBar เมื่อต้องการเปลี่ยนแอตทริบิวต์ของรายการเมนูที่มีอยู่แล้ว จะเร็วมากในการใช้ฟังก์ชันสมาชิกCheckMenuItemและEnableMenuItem?

ภาพรวม CMenu |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)

ดูเพิ่มเติมnbspCMenu::AppendMenu, CMenu::InsertMenu, CMenu::CheckMenuItem, CWnd::DrawMenuBar, CMenu::EnableMenuItem, CMenu::SetMenuItemBitmaps, CMenu::Detach, :: ModifyMenu(&N)

Index