trackpopupmenu

本文详细介绍了 TrackPopupMenu 函数的功能及使用方法。该函数能在指定位置显示并跟踪快捷菜单的选择,适用于屏幕任意位置。文中解释了函数参数的意义,如快捷菜单的句柄、位置标志等,并说明了不同版本的操作系统的支持情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1193665761703&lmt=1193665780&format=336x280_as&output=html&correlator=1193665761687&url=http%3A%2F%2Fwww.codeguru.cn%2Fpublic%2Fiframe%2Fwinapiiframe.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=1285758818.1193665762&ga_sid=1193665762&ga_hid=111695597&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_his=8&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency">     函数功能:该函数在指定位置显示快捷菜单,并跟踪菜单项的选择。快捷菜单可出现在屏幕上的任何位置。

    函数原型:BOOL TrackPopupMenu(HMENU hMenu,UINT uFlags,int x,int y,int nReserved,HWND hWnd,CONST RECT”prcRect);

    参数

    hMenu:被显示的快捷菜单的句柄。此句柄可为调用CreatePopupMenu创建的新快捷菜单的句柄,也可以为调用GetSubMenu取得的与一个已存在菜单项相联系的子菜单的句柄。

    uFlags:一种指定功能选项的位标志。用下列标志位之一来确定函数如何水平放置快捷菜单:

    TPM_CENTERALLGN:若设置此标志,函数将按参数x指定的坐标水平居中放置快捷菜单。

    TPM_LEFTALLGN:若设置此标志,函数使快捷菜单的左边界与由参数X指定的坐标对齐。

    TPM_RIGHTALLGN:若设置此标志,函数使快捷菜单的右边界与由参数X指定的坐标对齐。

    用下列标志位之一来确定函数如何垂直放置快捷菜单:

    TPM_BOTTOMALLGN:若设置此标志,函数使快捷菜单的下边界与由参数y指定的坐标对齐。

    TPM_TOPALLGN:若设置此标志,函数使快捷菜单的上边界与由参数y指定的坐标对齐。

    TPM_VCENTERALLGN;若设置此标志,函数将按参数y指定的坐标垂直居中放置快捷菜单

    用下列标志位之一来确定在菜单没有父窗口的情况下用户的选择:

    TPM_NONOTIFY:若设置此标志,当用户单击菜单项时函数不发送通知消息。

    TPM_RETURNCMD;若设置此标志;函数将用户所选菜单项的标识符返回到返回值里。

    用下列标志位之一来确定在快捷菜单跟踪哪一个鼠标键:

    TPM_LEFTBUTTON:若设置此标志,用户只能用鼠标左键选择菜单项。

    TPM_RIGHTBUTTON:若设置此标志,用户能用鼠标左、右键选择菜单项。

    X:在屏幕坐标下,快捷菜单的水平位置。

    Y:在屏幕坐标下,快捷菜单的垂直位置。

    NReserved:保留值,必须为零。

    HWnd:拥有快捷菜单的窗口的句柄。此窗口接收来自菜单的所有消息。函数返回前,此窗口不接受来自菜单的WM_COMMAND消息。

    如果在参数uFlags里指定了TPM_NONOTIFY值,此函数不向hWnd标识的窗口发消息。 但必须给hWnd里传一个窗口句柄,可以是应用程序里的任一个窗口句柄。

    PrcRect:未用。

    返回值:如果在参数uFlags里指定了TPM_RETURNCMD值,则返回值是用户选择的菜单项的标识符。如果用户未作选择就取消了菜单或发生了错误,则退回值是零。如果没在参数uFlags里指定TPM_RETURNCMD值,若函数调用成功,返回非零值,若函数调用失败,返回零。若想获得更多的错误信息,清调用GetLastError

    函数:

    备注:Windows CE不支持参数uFlags取下列值:TPM_NONOTIFY;TPM_LEFTBUTTON;TPM_RIGHTBUTTON。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值