右击托盘图标同时弹出我设计的菜单和系统菜单

Xuzheng1111 2008-10-09 10:44:24
		case WM_RBUTTONDOWN:
CMenu menu,*pSubMenu;
menu.LoadMenu(IDR_CONTEXTMENU);
pSubMenu = menu.GetSubMenu(0);
this->SetForegroundWindow();
CPoint pos;
GetCursorPos(&pos);
pSubMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pos.x,pos.y,this,NULL);
::PostMessage(ni.nid.hWnd,WM_NULL,0,0);
menu.DestroyMenu();


这是我处理Context菜单的方式...


不知道为什么,当我的前台窗口为桌面时 ,
右击图标会同时弹出我设计的菜单和系统的任务栏右键菜单,
而且任务栏菜单出现后,我程序的菜单Lose Focus
但是多次右击后恢复正常。
单击非客户区消除菜单后,再次右击又会出现一样的情况



各位高手,这是什么情况...请指教


谢谢...
...全文
180 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Xuzheng1111 2008-10-13
  • 打赏
  • 举报
回复
很奇怪

解决方法竟然是这样的...



this->SetForegroundWindow();
Sleep(50);
CPoint pos;
GetCursorPos(&pos);
DavidHsing 2008-10-12
  • 打赏
  • 举报
回复

注意使用 SetForegroundWindow()。
wodemuyecun 2008-10-11
  • 打赏
  • 举报
回复
ni.nid.hWnd 这是哪个窗口句柄??
Xuzheng1111 2008-10-10
  • 打赏
  • 举报
回复
那怎么解决这个问题呢?

各位高手给写高见啊...
用户 昵称 2008-10-10
  • 打赏
  • 举报
回复
跟图标的颜色没关系。
用户 昵称 2008-10-10
  • 打赏
  • 举报
回复
跟图标的颜色没关系。
rollrock1987 2008-10-10
  • 打赏
  • 举报
回复
应该没有问题 不过你可以把他改成非透明的 试试看

托盘和任务栏在操作的时候是很容易混淆
Xuzheng1111 2008-10-09
  • 打赏
  • 举报
回复
补充一下

我用的图标好像是透明版的...这是不是有什么影响?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧