基于Dialog的MFC程序在启动时隐藏为托盘程序(三)

这一部分要为最小化添加到托盘事件。。

首先要把dialog的最小化按钮搞出来。。我直接查看的窗体属性。。把minimize box选项设为true就可以了。。

为了让添加工作变得简单点。。这里把原来的代码重构一下。。添加两个方法。。

void CDesktopDlg::trayToDialog()
{
    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);
}

并且把源代码的相应部分注释掉。。如果前面两个文章你认真看了。。应该能找到。。

开始。

1. 在.cpp文件的OnSysCommand(UINT nID, LPARAM lParam)中添加如下代码
void CDesktopDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
    。。。。
    
else if(nID == SC_MINIMIZE)
    {
        dialogToTray();
    }  
        。。。。
}

额。。结束。。下一部分我要给tray添加菜单。。不过要下班了。。估计得明天了。。

posted @ 2009-08-18 17:27  Maldives  阅读(1315)  评论(0编辑  收藏  举报