MFC中给应用程序添加托盘支持
2010-11-03 16:25
393 查看
是从网上找的,经过亲身实践,并且结合一些小修改,把这个过程整理出来(开发环境是vs2005):
1:首先在Dlg.h中添加函数
2:在Dlg.h中添加成员变量
3:在Dlg.cpp中添加(这句话要添加在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间)
5:在Dlg.cpp中添加代码
6:在OnSysCommand函数中,添加
最后当程序退出的时候添加这句话:
意思是让托盘图标也消失,而不是鼠标放上去才消失的
1:首先在Dlg.h中添加函数
// 响应托盘图标事件 afx_msg LRESULT OnNotifyIcon(WPARAM wParam,LPARAM IParam);
2:在Dlg.h中添加成员变量
// 进行托盘图标显示支持的类结构 NOTIFYICONDATA NotifyIcon;
3:在Dlg.cpp中添加(这句话要添加在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间)
ON_MESSAGE(WM_NC, OnNotifyIcon)
// 添加托盘显示支持 NotifyIcon.cbSize = sizeof(NOTIFYICONDATA); NotifyIcon.hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); NotifyIcon.hWnd = m_hWnd; lstrcpy(NotifyIcon.szTip, TEXT("托盘显示")); NotifyIcon.uCallbackMessage = WM_NC; NotifyIcon.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; Shell_NotifyIcon(NIM_ADD, &NotifyIcon);
5:在Dlg.cpp中添加代码
// 响应托盘图标事件 LRESULT CMFC_4Dlg::OnNotifyIcon(WPARAM wParam, LPARAM IParam) { if ((IParam == WM_LBUTTONDOWN) || (IParam == WM_RBUTTONDOWN)) { ModifyStyleEx(0, WS_EX_TOPMOST); ShowWindow(SW_SHOW); } return NULL; }
6:在OnSysCommand函数中,添加
else if ((nID & 0xFFF0) == SC_MINIMIZE) { // 点击最小化按钮的时候进行事件处理 ShowWindow(SW_HIDE); }
最后当程序退出的时候添加这句话:
Shell_NotifyIcon(NIM_DELETE, &NotifyIcon);
意思是让托盘图标也消失,而不是鼠标放上去才消失的
相关文章推荐
- VS2010如何在控制台应用程序中添加对MFC库的支持
- MFC为应用程序添加托盘(右键托盘,弹出菜单)
- MFC为应用程序添加托盘(右键托盘,弹出菜单)
- 控制台应用程序中添加对MFC的支持
- MFC为应用程序添加托盘(右键托盘,弹出菜单)
- WinCE6添加对MFC的支持
- 为应用程序添加脚本支持
- mfc工程中添加com接口支持
- 给 ATL EXE 项目添加 MFC 支持
- WinCE 下添加MFC支持包
- 如何让WIN32应用程序支持MFC类库
- 如何添加对 ATL 的应用程序承载 VBScript 的支持
- 在Windows CE 6.0中添加对MFC的支持
- 如何给Win32 DLL添加MFC支持?(Dllmain重定义的问题)
- MFC实现NotifyIcon托盘应用程序
- MFC对话框应用程序添加自定义消息
- VS2008向MFC 对话框 添加托盘图标(显示和消失)
- 在Windows CE 6.0中添加对MFC的支持
- 为托管应用程序添加DPI Aware支持
- 2步让Win32应用程序/控制台应用使用MFC类库支持显示对话框