2024年4月1日发(作者:)
一,实现原理
1、最小化的原理:首先要将窗口隐藏,然后 在右下角绘制图标。
2、恢复的原理:将窗口显示,再将托盘中的图片删除。
二,程序实现
1、自定义消息WM_SHOWTASK: #define WM_SHOWTASK (WM_USER +1)
2、在MFC的::OnSysCommand(UINT nID, LPARAM lParam)函数体中增加一个命
令响应 if(nID==SC_MINIMIZE)
ToTray(); //最小化到托盘的函数
3、在消息映射中添加 ON_MESSAGE(WM_SHOWTASK,OnShowTask),其中
WM_SHOWTASK是消息名,
OnShowTask是自己定义的消息响应函数,后面有说明。
三,函数具体内容
1、最小化到托盘函数
void CMyDlg::ToTray()
{
NOTIFYICONDATA nid;
=(DWORD)sizeof(NOTIFYICONDATA);
=this->m_hWnd;
=IDR_MAINFRAME;
=NIF_ICON|NIF_MESSAGE|NIF_TIP ;
ackMessage=WM_SHOWTASK;//自定义的消息名称
=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINF
RAME));
strcpy(,"程序名称"); //信息提示条
Shell_NotifyIcon(NIM_ADD,&nid); //在托盘区添加图标
ShowWindow(SW_HIDE); //隐藏主窗口
}
2、恢复界面函数
发布评论