trackpopupmenu菜单空白不显示菜单 基本上解决方法就是先GetSubMenu,再TrackPopupMenu,

两种方法,一种就是在菜单资源里把所要加载的资源放到一个Popup属性的菜单下面,

另外就是程序创建一个Popup菜单,把菜单资源附加到这个Popup菜单上,再从Popup菜单中GetSubMenu(0)  取得需要的菜单

  case WM_CONTEXTMENU:

    {

      HWND hWnd = (HWND)wParam; //窗口句柄

      int xPos = GET_X_LPARAM(lParam);  //鼠标X屏幕坐标

      int yPos = GET_Y_LPARAM(lParam);  //鼠标Y屏幕坐标

 

      HMENU hMenu = CreatePopupMenu();  //创建弹出式菜单

      HMENU hSrcMenu = LoadMenu(hInst, MAKEINTRESOURCE(IDC_TESTWIN32)); //加载菜单资源

      AppendMenu(hMenu, MF_POPUP, (UINT_PTR)hSrcMenu, _T("Popup")); //附加到弹出菜单

      HMENU hTackMenu = GetSubMenu(hMenu, 0); //取出目标菜单

      TrackPopupMenuEx(hTackMenu, 0, xPos, yPos, hWnd, NULL); //弹出菜单

      DestroyMenu(hSrcMenu); //销毁加载的菜单

      DestroyMenu(hMenu); //销毁弹出菜单

 

      break;

    }
如果你写一个win32程序,你想在某个条目上鼠标右键,弹出一个简单的菜单,该菜单就有一个选项。

那么,你不用费很大的力气去设计这个菜单,也不需要写一个xml等,你只需要使用TrackPopupMenu函数来实现这个简单的梦想。

msdn是这样描述的:

Displays a shortcut menu at the specified location and tracks the selection of items on the menu. The shortcut menu can appear anywhere on the screen.

看到了吧,是一个shortcut菜单,更重要的是可以展示在屏幕的任何位置,只要你愿意。这时候,你应该迫不及待看看函数语法了吧:

 

BOOL WINAPI TrackPopupMenu(

  _In_           HMENU hMenu,

  _In_           UINT  uFlags,

  _In_           int   x,

  _In_           int   y,

  _In_           int   nReserved,

  _In_           HWND  hWnd,

  _In_opt_ const RECT  *prcRect

);

各个参数又是什么意思:

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

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

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

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

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

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

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

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

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

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

上一篇:bluestacks root,BlueStacks蓝叠怎么ROOT
下一篇:校园网络设备选型方案

摩羯座运势2022,摩羯座...

PF--1415反击式破碎机箱体设计开题报告

湖南长沙市生育津贴政策...

基于中频信号的家用治疗...

信息技术茬旅游专业教學...

浅谈岗位廉洁教育的方法与途径【3858字】

羟肟类萃取剂对嗜酸氧化...

浅议体态律动在小学音乐课堂教学中的运用

试析多元智能理论茬体育...

旅游英语推进邢台市旅游...