创建托盘图标
来源:互联网 发布:软件功能测试文档 编辑:程序博客网 时间:2024/05/21 06:59
最简单的:
#define WM_NC WM_USER+10
#define IDC_NC 1002
在BOOL CMyDlg::OnInitDialog()
{
....
CreateNotifyIcon();
}
void CMyDlg::CreateNotifyIcon()
{
NOTIFYICONDATA nc;
nc.cbSize = sizeof(NOTIFYICONDATA);
nc.hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); //这里使用默认的图标
nc.hWnd = m_hWnd;
strcpy(nc.szTip,"CatchIP");
nc.uCallbackMessage = WM_NC;
nc.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
nc.uID = IDC_NC;
Shell_NotifyIcon(NIM_ADD,&nc);
ShowWindow(SW_HIDE); //隐藏窗口
}
在关闭窗口时删除托盘图标:
void CMyDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
//删除系统区图标
NOTIFYICONDATA nc;
nc.cbSize = sizeof(NOTIFYICONDATA);
nc.hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
nc.hWnd=m_hWnd;
nc.uCallbackMessage = WM_NC;
nc.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
nc.uID = IDC_NC;
Shell_NotifyIcon(NIM_DELETE,&nc);
CDialog::OnClose();
}
---------------------------------------------------------------------------------------------------------------------------------
若要在左击或右击托盘图标加入响应:
就要对nc.uCallbackMessage = WM_NC; 这个消息进行响应了
BEGIN_MESSAGE_MAP(Mp3play, CDialog)
ON_MESSAGE(WM_NC,OnNotifyIcon) //加入消息响应语句
END_MESSAGE_MAP()
//消息响应函数
void Mp3play::OnNotifyIcon(WPARAM wParam,LPARAM lParam)
{
if(lParam==WM_LBUTTONDOWN) || (lParam==WM_LBUTTONDBLCLK) //左击则显示窗口
{
ShowWindow(SW_SHOW);
}
else if(lParam==WM_RBUTTONDOWN) //右击则显示弹出菜单
{
................
}
}
- 托盘图标的创建
- 创建托盘图标
- TrayIcon 创建一个托盘图标
- QT 创建托盘图标和右键菜单
- Qt 创建托盘图标与菜单
- 14. 13 TrayIcon 创建一个托盘图标
- QT 创建托盘图标和右键菜单
- 托盘图标
- 托盘图标
- 托盘图标
- 托盘图标
- 托盘图标
- AIR 托盘处理,托盘图标,文件托盘
- 解决Java程序的托盘图标在Windows任务栏重建后丢失的问题(使用SystemTray类创建托盘图标)
- 托盘图标提示
- 托盘图标提示
- 如何制作托盘图标?
- VB中的托盘图标
- Socket I/O 模型 学习
- xml解析
- ContextLoaderListener
- Linux调用栈获取分析及实现
- 要么励志故事:要么孤独,要么庸俗
- 创建托盘图标
- 数组的输入和逆向输出
- RubyMine 注册 序列号
- CharacterEncodingFilter
- VMware Ubuntu12.04虚拟机安装VMware Tools 使用share folders共享目录
- JTA 深度历险 - 原理与实现
- 利用分列转换类型
- Emacs 快速指南 摘要
- Oracle merge into的用法