惧留孙网

juliusun.com

惧留孙网 > 惧留孙课堂 > 在线手册 > WINDOWS API手册 > TrackPopupMenuEx
acceptAdjustWindowRectAdjustWindowRectExAngleArcAppendMenuArcArcToBeginPaintbindBitBltBM_GETCHECKBM_SETCHECKButton_GetCheckButton_SetCheckClientToScreenclosesocketconnectCreateCompatibleDCCreateDialogCreateDialogParamCreateFontCreateMenuCreatePenCreatePopupMenuCreateSolidBrushCreateWindowCreateWindowExDefWindowProcDeleteDCDeleteObjectDestroyCursorDestroyIconDestroyMenuDestroyWindowDialogBoxDialogBoxParamDialogProcDispatchMessageDrawIconDrawIconExEdit_HideBalloonTipEdit_ShowBalloonTipEDITBALLOONTIPEllipseEM_HIDEBALLOONTIPEM_SHOWBALLOONTIPEndDialogEndPaintFillRectFrameRectGetArcDirectionGetClientRectGetDlgItemGetDlgItemTextGetMessageGetStockObjectGetSystemMetricsGetTextAlignGetWindowTextGetWindowTextLengthInvalidateRectIsDialogMessageLineTolistenLoadCursorLoadIconLoadImageMAKEINTRESOURCEMessageBoxMoveToExMSGPiePOINTPolygonPolylinePolylineToPolyPolylinePostMessagePostQuitMessagePostThreadMessageRectanglerecvRegisterClassRegisterClassExRoundRectScreenToClientSelectObjectsendSendDlgItemMessageSendMessageSetArcDirectionSetBkColorSetBkModeSetDlgItemTextSetPixelSetTextAlignSetTextColorSetWindowTextShowWindowsocketstrcmpStretchBltstrlenTextOutTrackPopupMenuTrackPopupMenuExTranslateMessageUnregisterClassUpdateWindowwcscmpwcslenWindowProcWinMainWM_CHARWM_CLOSEWM_COMMANDWM_CREATEWM_DESTROYWM_GETTEXTWM_GETTEXTLENGTHWM_INITDIALOGWM_KEYDOWNWM_KEYUPWM_LBUTTONDBLCLKWM_LBUTTONDOWNWM_LBUTTONUPWM_MBUTTONDBLCLKWM_MBUTTONDOWNWM_MBUTTONUPWM_MOUSEHWHEELWM_MOUSEMOVEWM_MOUSEWHEELWM_NCDESTROYWM_NCHITTESTWM_PAINTWM_QUITWM_RBUTTONDBLCLKWM_RBUTTONDBLCLKWM_RBUTTONDOWNWM_RBUTTONUPWM_SETFONTWM_SETTEXTWM_XBUTTONDBLCLKWM_XBUTTONDOWNWM_XBUTTONUPWNDCLASSWNDCLASSEXWSACleanupWSADATAWSAStartupwsprintf

TrackPopupMenuEx 函数

在指定的位置显示一个快捷菜单并且跟踪选中菜单项。菜单可以在屏幕的任何位置显示。
 函数原型:
 BOOL TrackPopupMenuEx ( HMENU hMenu,UINT uFlags,int x,int y,HWND hWnd,LPTPMPARAMS lptpm  );
参数
hMenu
类型:HMENU
将要显示快捷菜单的句柄。可以通过 CreatePopupMenu 创建快捷菜单。

uFlags
类型:UINT
用0或多个值指定功能选项。

使用下面值之一指定快捷菜单水平位置:

意义
TPM_CENTERALIGN0x0004L相对横坐标水平中间对齐
TPM_LEFTALIGN0x0000L定位快捷菜单,使其左边与横坐标对齐
TPM_RIGHTALIGN0x0008L定位快捷菜单,使其右边与横坐标对齐


使用下面值之一指定快捷菜单竖直位置:

意义
TPM_BOTTOMALIGN0x0020L定位快捷菜单,使其底边与纵坐标对齐
TPM_TOPALIGN0x0000L定位快捷菜单,使其上边与纵坐标对齐
TPM_VCENTERALIGN0x0010L定位快捷菜单,使其中间与纵坐标对齐


用下面值之一来指定在菜单没有父窗口的情况下用户的选择:

意义
TPM_NONOTIFY0x0080L用户点击菜单项时不发送通知消息
TPM_RETURNCMD0x0100L在返回值中返回用户选择的条目


用下面值之一来指定鼠标哪个键可以跟踪快捷菜单:

意义
TPM_LEFTBUTTON0x0000L用户仅可以通过鼠标左键选择菜单项
TPM_RIGHTBUTTON0x0002L用户仅可以通过鼠标左键或右键选择菜单项


可以使用下列任何合理的组合标志值去修改菜单的显示特效动作:

意义
TPM_HORNEGANIMATION0x0800L使菜单从右到左以动作特效弹出
TPM_HORPOSANIMATION0x0400L使菜单从左到右以动作特效弹出
TPM_NOANIMATION0x4000L无特效显示
TPM_VERNEGANIMATION0x2000L使菜单从底到顶以动作特效弹出
TPM_VERPOSANIMATION0x1000L使菜单从顶到底以动作特效弹出


如果使用了特效,函数 CreatePopupMenu 必须设置SPI_SETMENUANIMATION。同时,如果渐变特效生效时,所有除 TPM_NOANIMATION 外的 TPM_*ANIMATION 标志会被忽略。

如果其它菜单已经显示,使用TPM_RECURSE 标志来显示菜单。

如果要从右到左布局,使用 TPM_LAYOUTRTL 。默认文本布局为从左到右。

x
类型:int
以屏幕坐标计算,快捷菜单的横坐标。

y
类型:int
以屏幕坐标计算,快捷菜单的纵坐标。

hWnd
类型:HWND
拥有菜单的窗口句柄。这个窗口会接收所有来自菜单的消息。窗口直接菜单返回,才会停止接收 WM_COMMAND 消息。如果在参数 uFlags 参数中指定了 TPM_NONOTIFY 标志,函数不会向 hWnd 指定的窗口发送消息,但是必须传递 hWnd 为一个窗口句柄(可能是任何窗口)。

lptpm
类型:LPTPMPARAMS
一个指向结构体 TPMPARAMS 的指针,用来指定菜单应该在屏幕中显示的区域,可以为空。
返回值
类型:BOOL
如果参数 uFlags 指定了 TPM_RETURNCMD 标志,返回值是被选中菜单项的标识符。如果用户在没有选择的情况下取消了菜单,或是出现错误,返回 0。

如果参数 uFlags 没有指定 TPM_RETURNCMD 标志,成功返回非0,失败返回0。
支持
最低桌面系统支持Windows 2000 Professional
头文件Winuser.h (已包含在Windows.h中)
User32.lib
DLLUser32.dll

作者:QQ:3304576112 交流QQ群:316930386 C语言窗口程序学习群 本站保留本页版权,可共享网址,匆复制内容

抖音
©2015-2024 惧留孙网 juliusun.com

京ICP备15039193号-1

首页 教程 下载 文章 聊天 我的