TrackPopupMenuEx

ฟังก์ชันTrackPopupMenuExแสดงเมนูทางลัดที่ตำแหน่งที่ระบุ และติดตามการเลือกรายการบนเมนูทางลัด เมนูทางลัดจะปรากฏขึ้นที่ใดก็ได้บนหน้าจอ.

(BOOL TrackPopupMenuEx HMENU  hmenu,  UINT  fuFlags,  int  x,  int  y,  HWND  hwnd,  LPTPMPARAMS  lptpm  );
 

พารามิเตอร์

hmenu
จัดการในเมนูทางลัดจะแสดง สามารถได้รับหมายเลขอ้างอิงนี้ โดยการเรียกฟังก์ชันCreatePopupMenuการสร้างเมนูทางลัดใหม่ หรือ โดยการเรียกฟังก์ชันGetSubMenuในการเรียกหมายเลขอ้างอิงไปยังเมนูย่อยที่เกี่ยวข้องกับรายการเมนูที่มีอยู่.
fuFlags
การวางตำแหน่งและตัวเลือกอื่น ๆ พารามิเตอร์นี้ ซึ่งจะเป็นศูนย์หรือมากกว่าค่าที่แสดง ด้วยฟังก์ชันTrackPopupMenuอาจรวมถึงหนึ่งในค่าต่อไปนี้:
ค่า ความหมาย
TPM_HORIZONTAL หากไม่สามารถแสดงเมนูที่ตำแหน่งที่ระบุได้โดยไม่ต้องซ้อนกันสี่เหลี่ยมที่แยก ระบบพยายามที่จะรองรับการจัดตำแหน่งแนวนอนที่ร้องขอก่อนการจัดตำแหน่งแนวตั้งที่ร้องขอ.
TPM_VERTICAL หากไม่สามารถแสดงเมนูที่ตำแหน่งที่ระบุได้โดยไม่ต้องซ้อนกันสี่เหลี่ยมที่แยก ระบบพยายามที่จะรองรับการจัดตำแหน่งแนวตั้งที่ร้องขอก่อนการจัดตำแหน่งแนวนอนที่ร้องขอ.

สี่เหลี่ยมถูกแยกออกเป็นส่วนหนึ่งของหน้าจอที่เมนูไม่ควรเหลื่อม มีระบุโดยlptpm.

x
ตำแหน่งแนวนอนของเมนูทางลัด ในพิกัดของหน้าจอ.
y
ตำแหน่งแนวตั้งของเมนูทางลัด ในพิกัดของหน้าจอ.
hwnd
จัดการไปยังหน้าต่างที่เป็นเจ้าของเมนูทางลัด หน้าต่างนี้ได้รับข้อความทั้งหมดจากเมนู หน้าต่างไม่ได้รับข้อความWM_COMMANDจากเมนูจนกว่าส่งกลับฟังก์ชัน.

ถ้าคุณได้ระบุ TPM_NONOTIFY ในพารามิเตอร์fuFlagsฟังก์ชันไม่ส่งข้อความไปยังหน้าต่างที่ถูกระบุด้วยhwnd อย่างไรก็ตาม คุณยังต้องผ่านการจัดการหน้าต่างในhwnd สามารถเป็นหมายเลขอ้างอิงหน้าต่างใด ๆ จากโปรแกรมประยุกต์ของคุณ.

lptpm
ชี้การโครงสร้างแบบTPMPARAMSที่ระบุพื้นที่ของหน้าจอเมนูควรได้มีการซ้อนทับ พารามิเตอร์นี้สามารถเป็น NULL.

ส่งกลับค่า

ถ้าคุณได้ระบุ TPM_RETURNCMD ในพารามิเตอร์fuFlagsค่าส่งกลับเป็นตัวระบุรายการเมนูของสินค้าที่ผู้ใช้เลือก ถ้าผู้ใช้ยกเลิกการเมนูโดยไม่ต้องทำการเลือก หรือหากมีข้อผิดพลาดเกิดขึ้น แล้วส่งคืนค่าเป็นศูนย์.

ถ้าคุณไม่ได้ระบุ TPM_RETURNCMD ในพารามิเตอร์fuFlagsส่งคืนค่าเป็นไม่ใช่ศูนย์ถ้าฟังก์ชันสำเร็จ และศูนย์ถ้ามันล้มเหลว การขอเพิ่มเติมข้อมูลข้อผิดพลาด โทร GetLastError.

หมายเหตุ

Windows CE: Windows CE ไม่สนับสนุนค่าสถานะต่อไปนี้สำหรับพารามิเตอร์uFlags

TPM_NONOTIFY

TPM_LEFTBUTTON

TPM_RIGHTBUTTON

TPM_HORIZONTAL

TPM_VERTICAL

พารามิเตอร์lptpmต้องถูกตั้งค่าให้เป็น NULL.

QuickInfo

nbsp Windows &NT:ต้องการเวอร์ชัน 4.0 หรือรุ่นที่ใหม่กว่า
Windows:ต้องใช้ Windows 95 หรือรุ่นที่ใหม่กว่า
Windows CE:ต้องการเวอร์ชัน 1.0 หรือรุ่นใหม่กว่า
หัวข้อ:ประกาศใน winuser.h
ไลบรารีที่นำเข้า:ใช้ user32.lib.

ดูเพิ่มเติม

ภาพรวมของเมนูเมนูฟังก์ชัน CreatePopupMenu, GetSubMenu, TPMPARAMS, TrackPopupMenu, WM_COMMAND

Index