MFC托盘 右键弹出菜单的问题
我学习网上的例子,想做一个托盘,然后右键点击托盘图标弹出一个菜单,可以选择打开或者退出
我再资源试图里插入了一个菜单

然后再我的消息响应函数里添加处理
但是调试的时候发现CMenu *p = menuTray.GetSubMenu(0);这个地方获取的指针一直为0,目前一直没有弄明白原因。
我再资源试图里插入了一个菜单

然后再我的消息响应函数里添加处理
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,目前一直没有弄明白原因。
...全文
相关推荐
VC++ 托盘程序(函数最全)
拿来就可以用,包括所有托盘程序实现方法,绝对好用!
MFC/VC++中的程序托盘实现指南
本文还有配套的精品资源,点击获取 简介:在Windows系统中,程序托盘是一个位于任务栏右下角的区域,它显示应用程序图标并提供快捷操作。MFC是微软的C++类库,用于简化Windows应用开发,包括对托盘图标的支持。本文详细介绍了如何使用MFC/VC++在Windows应用程序中实现程序托盘,涵盖创建图标、添加到托盘、处理用户交互事件以及为图标添加右键菜单的完整步骤。通过这...
VC+MFC 托盘图标闪烁与消息提示
用VC+MFC 实现托盘管理,支持热键,图标闪烁,右键菜单,消息框渐现等功能,所有功能均测试通过,请放心使用,欢迎关注!
MFC托盘右键菜单源码
MFC托盘图标,托盘隐藏,右键托盘菜单,鼠标离开托盘自动消失
MFC 弹出窗口 最小化 托盘 右键菜单
简单的MFC应用实例,可以弹出新窗口,最小化到托盘,并设置右键菜单


界面
