读书人

关于程序托盘显示以及程序初始化时候隐

发布时间: 2012-02-23 22:01:36 作者: rapoo

关于程序托盘显示以及程序初始化时候隐藏
创建的一个对话框工程想要做成系统托盘,问题两个
1.主对话框不要显示,也就是一开始就隐藏,我是在对话框资源中吧visible选项去掉了,但程序启动时候会闪一下,任务栏也会出现该程序,然后马上消失,怎么解决
2.系统托盘是找的网上一段程序贴了过去,由于时间紧,没逐行研究,问题是托盘弹出菜单后,如果鼠标点击别处,菜单不消失,必须要选菜单某项才消失,以前做没注意这种情况,有经验的大侠帮指导一下

[解决办法]
http://www.360doc.com/showWeb/0/0/231195.aspx,仔细读下,这个不错!
[解决办法]
1.模态窗口只要一打开都会显示出来的,除非你用非模态窗口
2.用我这个函数来显示弹出式菜单吧:

BOOL AfxShowPopupMenu(CWnd* pWnd, UINT nID)
{
ASSERT(nID!=NULL && pWnd!=NULL);
CMenu menu;
CPoint pt;
GetCursorPos(&pt);
if(!menu.LoadMenu(nID))
{
TRACE0( "Falied to load menu source.\n ");
return FALSE;
}
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
pWnd-> SetForegroundWindow();
return pPopup-> TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, pWnd);
}

读书人网 >VC/MFC

热点推荐