Welcome

首页 / 软件开发 / C++ / 给托盘添加右击菜单变化的背景图

给托盘添加右击菜单变化的背景图2008-01-19张庆利

图1 变化的背景图

给托盘添加右击菜单

一般的商业程序都有托盘图标和在托盘上弹出右击菜单的功能,那么如何给自已的程序添加这样的功能呢?本文通过改变背景图的实例,介绍一种实现托盘上弹出右击菜单的方法。 

一、添加托盘图标

给程序添加托盘图标的方法在很多VC书中都有实例,通常在程序中按下面的步骤就可以实现:

1、在XXDlg.CPP文件头部加入

#define WM_NOTIFYICONWM_USER+5  
NOTIFYICONDATA nd;

2、在程序的初始化中加入下面代码

nd.cbSize= sizeof (NOTIFYICONDATA);
nd.hWnd= m_hWnd;
nd.uID= IDR_MAINFRAME;
nd.uFlags= NIF_ICON|NIF_MESSAGE|NIF_TIP;
nd.uCallbackMessage= WM_NOTIFYICON;
nd.hIcon= m_hIcon;
strcpy(nd.szTip, "我的托盘");
Shell_NotifyIcon(NIM_ADD, &nd);

3、在程序的退了函数中加入删除托盘图标语句

Shell_NotifyIcon(NIM_DELETE, &nd); 

二、在资源中添加菜单

1、建立菜单 

图2 菜单

2、建立菜单对应的函数

void CbackdropDlg::OnShow()
{
ShowWindow( SW_SHOWNORMAL);//恢复正常显示
}
void CbackdropDlg::OnExit()
{
::PostQuitMessage(0); //退出
}
void CbackdropDlg::OnHide()
{
ShowWindow(SW_HIDE);//隐藏
}
void CbackdropDlg::OnMin()
{
ShowWindow(SW_SHOWMINIMIZED);//最小化
}