MFC托盘 右键弹出菜单的问题

tiantang07051 tiantang07051 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我学习网上的例子,想做一个托盘,然后右键点击托盘图标弹出一个菜单,可以选择打开或者退出

我再资源试图里插入了一个菜单


然后再我的消息响应函数里添加处理
LRESULT CTest2Dlg::OnTrayNotify(WPARAM wParam, LPARAM lParam)
{
UINT uMsg = (UINT)lParam;
switch(uMsg)
{
case WM_RBUTTONUP:
{
//右键处理
CMenu menuTray;
CPoint point;
int id;
GetCursorPos(&point);

BOOL bResulet = menuTray.LoadMenu(IDR_MENU_TRAY);

HMENU handle ;

CMenu *p = menuTray.GetSubMenu(0);

id = menuTray.GetSubMenu(0)->TrackPopupMenu(TPM_RETURNCMD | TPM_LEFTALIGN|TPM_RIGHTBUTTON, point.x, point.y, this);

switch(id)
{
case IDR_TRAY_EXIT:
OnOK();
break;
case IDR_TRAY_RESTORE:
//窗口前端显示
SetForegroundWindow();
ShowWindow(SW_SHOWNORMAL);
break;
default:
break;
}
break;
}
case WM_LBUTTONDBLCLK:
SetForegroundWindow();
ShowWindow(SW_SHOWNORMAL);
break;
default:
break;
}
return 0;
}


但是调试的时候发现CMenu *p = menuTray.GetSubMenu(0);这个地方获取的指针一直为0,目前一直没有弄明白原因。
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
tiantang07051
界面 15,976 成员 115,866 内容