ฟังก์ชันInsertMenuแทรกรายการเมนูใหม่ลงในเมนู การย้ายรายการอื่น ๆ ลงในเมนู.
ฟังก์ชันInsertMenuจะได้ถูกแทนที่ โดยฟังก์ชันInsertMenuItem คุณยังสามารถใช้InsertMenuอย่างไรก็ตาม ถ้าคุณไม่จำเป็นใด ๆ ในคุณลักษณะเพิ่มเติมของInsertMenuItem.
(BOOL InsertMenu HMENU hMenu, / / จัดการเมนูUINTuPosition, / / เมนูรายการเมนูใหม่ที่อยู่หน้าสินค้าUINTuFlags, / / ตั้งค่าสถานะรายการเมนูUINTuIDNewItem, / / เมนูสินค้ารหัส หรือจัดการการหล่น / / เมนูหรือเมนูย่อยLPCTSTRlpNewItem / / เมนูรายการเนื้อหา);
ค่า | คำอธิบาย |
---|---|
MF_BYCOMMAND | บ่งชี้ว่า พารามิเตอร์uPositionให้ตัวระบุของรายการเมนู ตั้งค่าสถานะ MF_BYCOMMAND เป็นค่าเริ่มต้นถ้ามีระบุค่าสถานะทั้ง MF_BYCOMMAND และ MF_BYPOSITION. |
MF_BYPOSITION | บ่งชี้ว่า พารามิเตอร์uPositionให้ zero-based ตำแหน่งสัมพัทธ์ของรายการเมนูใหม่ ถ้าuPosition 0xFFFFFFFF รายการเมนูใหม่จะถูกผนวกเข้าไปส่วนท้ายของเมนู. |
ค่า | คำอธิบาย |
---|---|
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