CMenu::TrackPopupMenu

BOOL TrackPopupMenu( UINT nFlags, int x, int y, CWnd* pWnd,LPCRECT lpRect = NULL );

返回值:如果成功,则返回非零值,否则为0。

参数:
nFlags指定屏幕位置标志或鼠标键标志。
屏幕位置标志可以为下列值之一:
·TPM_CENTERALIGN使弹出菜单在水平方向相对于x指定的坐标居中。
·TPM_LEFTALIGN放置弹出菜单,以便弹出菜单在由坐标值x指定的位置左对齐。
·TPM_RIGHTALIGN放置弹出菜单,以便弹出菜单在由坐标值x指定的位置右对齐。

鼠标键标志可以为下列值之一:
·TPM_LEFTBUTTON导致弹出菜单追踪鼠标左键。
·TPM_RIGHTBUTTON导致弹出菜单追踪鼠标右键。

x指定弹出菜单屏幕坐标的水平位置。根据参数nFlags的值,该菜单可以左对齐、右对齐或在该位置上居中。
y指定弹出菜单屏幕坐标的垂直位置。
pWnd标识拥有弹出菜单的窗口。该窗口接收来自菜单的所有WM_COMMAND消息。在Windows 3.1或以后版本中,窗口直到TrackPopupMenu返回才接收WM_COMMAND消息。在Windows 3.0中,窗口在TrackPopupMenu返回之前接收WM_COMMAND消息。
lpRect指向RECT结构或包含矩形的屏幕坐标CRect对象,用户在该矩形内部单击鼠标也不会消除弹出菜单。若该参数为NULL ,那么用户在该矩形外部单击鼠标,弹出菜单将消失。对于Windows 3.0,该值必须为NULL。

对于Windows 3.1或更高版本,可以使用下列常量:
·TPM_CENTERALIGN
·TPM_LEFTALIGN
·TPM_RIGHTALIGN
·TPM_RIGHTBUTTON

说明:
在指定位置显示浮动弹出菜单,并追踪弹出菜单中被选择的项。浮动弹出菜单可以出现在屏幕的任何位置。

请参阅:
CMenu::CreatePopupMenu, CMenu::GetSubMenu, ::TrackPopupMenu