最小化到系统托盘,与系统托盘鼠标操作
2015-12-15 10:30
274 查看
void CTimeWakeDlg::toTray() { NOTIFYICONDATA nid; nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA); nid.hWnd=this->m_hWnd; nid.uID=IDR_MAINFRAME; nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ; nid.uCallbackMessage=WM_SHOWTASK;//自定义的消息名称 nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME)); strcpy(nid.szTip,"计划任务提醒");//信息提示条为“计划任务提醒” Shell_NotifyIcon(NIM_ADD,&nid);//在托盘区添加图标 ShowWindow(SW_HIDE);//隐藏主窗口 }
LRESULT CTimeWakeDlg::onShowTask(WPARAM wParam,LPARAM lParam) //wParam接收的是图标的ID,而lParam接收的是鼠标的行为 { if(wParam!=IDR_MAINFRAME) return 1; switch(lParam) { case WM_RBUTTONUP://右键起来时弹出快捷菜单,这里只有一个“关闭” { LPPOINT lpoint=new tagPOINT; ::GetCursorPos(lpoint);//得到鼠标位置 CMenu menu; menu.CreatePopupMenu();//声明一个弹出式菜单 //增加菜单项“关闭”,点击则发送消息WM_DESTROY给主窗口(已 //隐藏),将程序结束。 menu.AppendMenu(MF_STRING,WM_DESTROY,"关闭"); //确定弹出式菜单的位置 menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this); //资源回收 HMENU hmenu=menu.Detach(); menu.DestroyMenu(); delete lpoint; } break; case WM_LBUTTONDBLCLK://双击左键的处理 { this->ShowWindow(SW_SHOW);//简单的显示主窗口完事儿 } break; } return 0; }
相关文章推荐
- Redis介绍以及安装(Linux)
- 用vi修改文件,保存文件时,提示“readonly option is set”的解决方法
- Kafka_producer
- Core Image 和视频
- Dom解析
- tableview 的 headerview 滑动问题
- Pandas:SettingWithCopyWarning
- EventBus的关键函数介绍
- Grade 常用语法和结构(待整理)
- 11月网民上网高峰时段为晚上8点 比例升至6.48%
- ibatis工具--Abator
- 表单中有图文编辑器的内容,提交失败。
- linux dup,dup2,dup3 复制一个文件描述符
- Javascript基于AJAX回调函数传递参数实例分析
- 『全球化产品』应该要避开的几个坑
- 带你看懂Dictionary的内部实现
- 2.选择排序(直接选择排序和堆排序)
- ASPxPopupControl 关闭刷新
- Spring MVC传递URL到后台参数为空
- CSS字符编码引起乱码