基于Dialog的MFC程序在启动时隐藏为托盘程序(三)
这一部分要为最小化添加到托盘事件。。
首先要把dialog的最小化按钮搞出来。。我直接查看的窗体属性。。把minimize box选项设为true就可以了。。
为了让添加工作变得简单点。。这里把原来的代码重构一下。。添加两个方法。。
并且把源代码的相应部分注释掉。。如果前面两个文章你认真看了。。应该能找到。。
开始。
1. 在.cpp文件的OnSysCommand(UINT nID, LPARAM lParam)中添加如下代码
额。。结束。。下一部分我要给tray添加菜单。。不过要下班了。。估计得明天了。。
首先要把dialog的最小化按钮搞出来。。我直接查看的窗体属性。。把minimize box选项设为true就可以了。。
为了让添加工作变得简单点。。这里把原来的代码重构一下。。添加两个方法。。
void CDesktopDlg::trayToDialog()
{
ModifyStyleEx(0 , WS_EX_TOPMOST);
ShowWindow(SW_SHOW);
Shell_NotifyIcon(NIM_DELETE, &m_notifyIcon);
}
{
ModifyStyleEx(0 , WS_EX_TOPMOST);
ShowWindow(SW_SHOW);
Shell_NotifyIcon(NIM_DELETE, &m_notifyIcon);
}
void CDesktopDlg::dialogToTray()
{
SetTimer(1 , 55 , NULL);
Shell_NotifyIcon(NIM_ADD , &m_notifyIcon);
}
{
SetTimer(1 , 55 , NULL);
Shell_NotifyIcon(NIM_ADD , &m_notifyIcon);
}
并且把源代码的相应部分注释掉。。如果前面两个文章你认真看了。。应该能找到。。
开始。
1. 在.cpp文件的OnSysCommand(UINT nID, LPARAM lParam)中添加如下代码
void CDesktopDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
。。。。
else if(nID == SC_MINIMIZE)
{
dialogToTray();
}
。。。。
}
{
。。。。
else if(nID == SC_MINIMIZE)
{
dialogToTray();
}
。。。。
}
额。。结束。。下一部分我要给tray添加菜单。。不过要下班了。。估计得明天了。。