MFC对话框添加系统栏图标
2010-09-19 22:34
169 查看
系统栏图标添加方法:(以CDialog为例) 1,在Dialog类中加入显示系统栏图标的变量 NOTIFYICONDATA m_NotifyIcon;//消息映射没有Notify…的消息,手动添加 2,在Dialog类中加入消息处理函数afx_msg LRESULT OnNotifyIcon(WPARAM wParam, LPARAM lParam) 来响应对系统栏图标的响应。 3,在BEGIN_MESSAGE_MAP(), END_MESSAGE_MAP()中间添加消息处理映射ON_MESSAGE(WM_NC, &CMyCPL2Dlg::OnNotifyIcon) 4,在Dialog类的初始化函数OnInitDialog()中添加系统栏图标初始化: m_NotifyIcon.cbSize = sizeof(NOTIFYICONDATA);// m_NotifyIcon.hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);//图标图案,自定义 m_NotifyIcon.hWnd = m_hWnd;// lstrcpy(m_NotifyIcon.szTip, "MY Dialog");//鼠标指示时显示提示 m_NotifyIcon.uCallbackMessage = WM_NC;//消息响应函数,实现文件加#define WM_NC 1001 m_NotifyIcon.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE;//图标类型 Shell_NotifyIcon(NIM_ADD, &m_NotifyIcon);//系统栏添加图标 5,添加消息响应函数 LRESULT CMyCPL2Dlg::OnNotifyIcon(WPARAM wParam, LPARAM lParam) { if ((lParam == WM_LBUTTONDOWN)) // Lbutton down { ModifyStyleEx(0,WS_EX_TOPMOST); ShowWindow(SW_SHOW); // Show Main Window //Shell_NotifyIcon(NIM_DELETE, &NotifyIcon); } //... return 0;// 添加返回值 } 6,如果有需要,可以在关闭对话框时删除系统栏图标。添加函数DestroyWindow() BOOL CMyCPL2Dlg:DestroyWindow() { // TODO: Add your specialized code here and/or call the base class Shell_NotifyIcon(NIM_DELETE, &m_NotifyIcon); // Delete Icon return CDialog:DestroyWindow(); } |
相关文章推荐
- MFC如何在自定义对话框中添加系统图标?
- MFC 添加系统栏图标
- MFC将程序添加到系统图标栏,系统托盘栏
- MFC 添加系统托盘图标
- VS2010 MFC对话框程序用CButtonST给按钮添加图标
- VS2010 MFC中在对话框上添加工具栏以及工具栏提示信息并改变图标支持256色
- MFC添加系统托盘图标
- MFC中提示对话框的滑动弹出和程序图标加入系统托盘的实现
- mfc CtreeCtrl上添加图标、将一个对话框放在另一个对话框上、CTreeCtrl响应不同的节点
- 在基于对话框的MFC中添加工具栏以及工具栏提示信息并改变图标支持256色
- VS2008向MFC 对话框 添加托盘图标(显示和消失)
- MFC中提示对话框的滑动弹出和程序图标加入系统托盘的实现
- MFC——对话框程序添加工具栏按钮图标及其按钮tooltip
- MFC 如何将自定义按钮,添加到对话框的成员变量中?
- 在基于对话框的MFC程序中,使程序在任务栏中不显示图标
- MFC最小化到系统托盘 MFC初始化时隐藏对话框
- MFC对话框添加背景图片
- MFC如何添加系统消息处理函数?
- 用MFC ODBC操作Access数据库 (怎么添加数据源,单文档和对话框实例)
- 如何把程序图标添加到系统托盘上