InsertMenu

ฟังก์ชันInsertMenuแทรกรายการเมนูใหม่ลงในเมนู การย้ายรายการอื่น ๆ ลงในเมนู.

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

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

พารามิเตอร์

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

uIDNewItem
ระบุเป็นตัวระบุของรายการเมนูใหม่ หรือ ถ้าพารามิเตอร์uFlagsมี ค่าสถานะ MF_POPUP กำหนด หมายเลขอ้างอิงการแบบหล่นลงเมนูหรือเมนูย่อย.
lpNewItem
ระบุเนื้อหาของรายการเมนูใหม่ การตีความเนื้อความของlpNewItemขึ้นกับว่าพารามิเตอร์uFlagsมีค่าสถานะ MF_BITMAP, MF_OWNERDRAW หรือ MF_STRING เป็นดังนี้:
ค่า คำอธิบาย
MF_BITMAP ประกอบด้วยตัวจัดการรูปบิตแมป.
MF_OWNERDRAW ประกอบด้วยค่า 32 บิตโดยโปรแกรมประยุกต์ที่สามารถใช้เพื่อรักษาข้อมูลเพิ่มเติมที่เกี่ยวข้องกับรายการเมนู ค่าอยู่ในสมาชิกitemDataของโครงสร้างที่ชี้ไปตามพารามิเตอร์lparamของWM_MEASUREITEMหรือWM_DRAWITEMส่งเมื่อรายการเมนูถูกสร้างขึ้น หรือมีการปรับปรุงลักษณะที่ปรากฏของข้อความ.
MF_STRING ประกอบด้วยตัวชี้ไปยังสายสิ้นสุดด้วยค่า null (ค่าเริ่มต้น).

ส่งกลับค่า

ถ้าฟังก์ชันสำเร็จ ค่าส่งกลับจะไม่ใช่ศูนย์.

ถ้าฟังก์ชันล้มเหลว ส่งคืนค่าเป็นศูนย์ การขอเพิ่มเติมข้อมูลข้อผิดพลาด โทร GetLastError.

หมายเหตุ

แอพลิเคชันต้องเรียกฟังก์ชันDrawMenuBarทุกครั้งเปลี่ยนแปลงเมนู เมนูอยู่ในหน้าต่างแสดงหรือไม่.

รายการต่อไปนี้อธิบายถึงค่าสถานะที่สามารถกำหนดในพารามิเตอร์uFlags:

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

กลุ่มของค่าสถานะต่อไปนี้ไม่สามารถใช้ร่วมกัน:

Windows CE: Windows CE สนับสนุนค่าสถานะ MF_BITMAP หรือค่าสถานะ MF_DISABLED ในพารามิเตอร์uFlags รายการเมนูไม่ถูกปิดการใช้งานโดยไม่มีสีเทา เมื่อต้องการปิดใช้งาน รายการเมนูใช้ค่าสถานะ MF_GRAYED.

Windows CE รุ่น 1.0 ไม่สนับสนุนเมนูแบบเรียงซ้อน ถ้าคุณกำลังใช้ Windows CE 1.0 คุณไม่สามารถแทรกเมนูที่มี MF_POPUP ลงในเมนูผุดขึ้นที่อื่น ถ้าใช้ Windows CE 2.0 หรือรุ่นที่ใหม่กว่า คุณสามารถ.

ดูเพิ่มเติม

ภาพรวมของเมนูเมนูฟังก์ชัน AppendMenu, DeleteMenu, DrawMenuBar, InsertMenuItem, ModifyMenu, RemoveMenu, SetMenuItemBitmaps, WM_DRAWITEM, WM_MEASUREITEM

Index