您的位置:首页 > 编程语言 > C语言/C++

VC++ 四步实现最小化托盘图标---音乐播放器

2011-12-10 21:45 337 查看

1.定义消息名称

#define WM_OnShowTask WM_USER+100

消息

ON_MESSAGE(WM_OnShowTask,OnShowTask)

2.实现最小化托盘图标方法

//---------------托盘程序----------------------

void CMP3PlayerDlg::OnTray()

{

nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);

nid.hWnd=this->m_hWnd;

nid.uID=IDR_MAINFRAME;

nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ;

nid.uCallbackMessage=WM_OnShowTask;//自定义的消息名称

nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));

strcpy(nid.szTip,"音乐播放器");//信息提示条为“音乐播放器”

Shell_NotifyIcon(NIM_ADD,&nid);//在托盘区添加图标

ShowWindow(SW_HIDE);//隐藏主窗口

}

3.最小化的时候实现托盘图标

void CMP3PlayerDlg::OnSysCommand(UINT nID, LPARAM lParam)

{

if (nID==SC_MINIMIZE)//重载最小化按钮,点击最小化按钮到托盘

{

//托盘程序

OnTray();

}

else if (nID==SC_CLOSE)

{

OnOK();

}

else

{

CDialog::OnSysCommand(nID, lParam);

}

}

4.退出播放器的时候 销毁图标

//-------------------窗体销毁消息响应函数-------------------

void CMP3PlayerDlg::OnDestroy()

{

CDialog::OnDestroy();

//删除托盘图标

Shell_NotifyIcon(NIM_DELETE, &nid);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: