OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3894|回复: 1

emwin如何实现按键弹出菜单栏

[复制链接]

3

主题

5

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2016-4-7
在线时间
9 小时
发表于 2017-3-23 17:20:03 | 显示全部楼层 |阅读模式
1金钱
在emwin官方例程WIDGET_Menu.c中可以实现在菜单栏的基础下增加子菜单。我就尝试在按键中尝试添加菜单栏,实现点击按键弹出菜单栏。但是呢不成功。以下部位是我根据前者修改的。麻烦大神指引下。
static void _AddMenuItem(MENU_Handle hMenu, MENU_Handle hSubmenu, const char* pText, U16 Id, U16 Flags) {
  MENU_ITEM_DATA Item;

  Item.pText    = pText;
  Item.hSubmenu = hSubmenu;
  Item.Flags    = Flags;
  Item.Id       = Id;
  MENU_AddItem(_hBut, &Item);
        //MENU_AddItem();
}


// USER START (Optionally insert additional static code)
// USER END
static WM_HWIN _CreateMenu(WM_HWIN hParent) {
//  MENU_Handle hMenuFile;
//  MENU_Handle hMenuEdit;
//  MENU_Handle hMenuHelp;
//  MENU_Handle hMenuRecent;

        _hBut = BUTTON_Create(142, 100, 36, 40, ID_BOTTON_4, WM_CF_SHOW);

//  hMenuFile   = MENU_CreateEx(0, 0, 0, 0, _hBut, 0, MENU_CF_VERTICAL, 0);

  _AddMenuItem(_hBut,   0,           "New",      ID_MENU_FILE_NEW,    0);
  _AddMenuItem(_hBut,   0,           "Open",     ID_MENU_FILE_OPEN,   0);
  _AddMenuItem(_hBut,   0,           "Close",    ID_MENU_FILE_CLOSE,  MENU_IF_DISABLED);
  _AddMenuItem(_hBut,   0,           "Exit",     ID_MENU_FILE_EXIT,   0);  
       
  return _hBut;
}

最佳答案

查看完整内容[请看2#楼]

好了,知道是什么问题了,MENU的API函数里面有MENU_Popup函数,可以实现附加在按键上。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

5

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2016-4-7
在线时间
9 小时
 楼主| 发表于 2017-3-23 17:20:04 | 显示全部楼层
好了,知道是什么问题了,MENU的API函数里面有MENU_Popup函数,可以实现附加在按键上。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 02:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表