菜单
  

    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指定的坐标垂直居中放置快捷菜单

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

  1. 上一篇:bluestacks root,BlueStacks蓝叠怎么ROOT
  2. 下一篇:校园网络设备选型方案
  1. 身体自尊量表(PSPP)

  2. 货币国际化国内外研究现状

  3. 从何红舟《桥上的风景》中感受油画构成美

  4. 多级反馈队列调度算法的研究+源代码

  5. 甲硫醇钠生产工艺设计任务书

  6. 运动员广告形象塑造文献综述和参考文献

  7. 进出口贸易与经济增长文献综述和参考文献

  8. 玫瑰精油特征香气成分研究

  9. 街头游园设计

  10. Toeplitz定理及其应用+文献综述

  

About

优尔论文网手机版...

主页:http://www.youerw.com

关闭返回