实现系统托盘.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实现系统托盘

实现系统托盘 一、添加托盘图标 给程序添加托盘图标的方法在很多VC书中都有实例,通常在程序中按下面的步骤就可以实现: 1、在XXDlg.CPP文件头部加入 #define WM_NOTIFYICON WM_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); 二、在资源中添加菜单 [ 本文属于第41期, 适合初级读者 ] 给托盘添加右击菜单--变化的背景图 南京航空航天大学 张庆利 下载本文示例工程 图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、建立菜单对应的函数 void CbackdropDlg::OnShow() { ShowWindow( SW_SHOWNORMAL);//恢复正常显示 } void CbackdropDlg::OnExit() { ::PostQuitMessage(0); //退出 } void CbackdropDlg::OnHide() { ShowWindow(SW_HIDE);//隐藏 } void CbackdropDlg::OnMin() { ShowWindow(SW_SHOWMINIMIZED);//最小化 } 3、在托盘消息响应函数中添加代码 LONG CbackdropDlg::OnNotifyIcon(WPARAM wParam, LPARAM lParam) { // 响应在托盘图标上的单击 //wParam中是响应消息的图标ID,lParam中则是Windows的消息 // The backdrop icon sent us a message. Lets see what it is switch ( lParam ) { case WM_RBUTTONDOWN: { // 用户在托盘图标上单击鼠标右键,弹出菜单 CMenu pMenu; if (pMenu.LoadMenu(IDR_MENU1)) { CMenu* pPopup = pMenu.GetSubMenu(0); ASSERT(pPopup != NULL); CPoint Point; if(IsIconic()) pPopup-EnableMenuItem(IDC_MIN,MF_BYCOMMAND | MF_DISABLED | MF_GRAYED); if (IsWindowVisible())// 根据对话框窗口的状态对相关菜单项使能 { if(!IsIconic()) pPopup-EnableMenuItem

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档