设为首页 加入收藏

TOP

11.5.4 控制模块在托盘中消息处理功能的实现
2013-10-07 14:34:32 来源: 作者: 【 】 浏览:60
Tags:11.5.4 控制 模块 盘中 消息 处理 功能 实现

11.5.4  控制模块在托盘中消息处理功能的实现

当用户动作于托盘中的截屏模块图标时,它将向主窗体发送WM_SHOTS。这个消息为自定义消息:

  1. #define WM_SHOTS     (WM_USER + 101) 

为了响应这个消息需要为该消息添加一个处理函数OnShowShots()。
  1. 01  LRESULT CScreenShotsDlg::OnShowShots(WPARAM wParam, LPARAM lParam)  
  2. 02  {  
  3. 03      if(wParam!=IDR_MAINFRAME)   
  4. 04      {  
  5. 05          return 1;   
  6. 06      }  
  7. 07      switch(lParam)   
  8. 08      {   
  9. 09          case WM_RBUTTONUP:              //右键弹起时弹出快捷菜单  
  10. 10          {   
  11. 11              LPPOINT lpoint=new tagPOINT;   
  12. 12              ::GetCursorPos(lpoint);     //得到鼠标位置   
  13. 13              CMenu menu;   
  14. 14              menu.CreatePopupMenu();     //声明一个弹出式菜单   
  15. 15              menu.AppendMenu(MF_STRING,IDC_START,"截图");  
  16. 16              menu.AppendMenu(MF_STRING,IDOK,"退出");  
  17. 17              //确定弹出式菜单的位置   
  18. 18              menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint->x, lpoint->y,  
  19.                 this);   
  20. 19              //资源回收   
  21. 20              HMENU hmenu=menu.Detach();   
  22. 21              menu.DestroyMenu();   
  23. 22              delete lpoint;   
  24. 23          }   
  25. 24          break;   
  26. 25          case WM_LBUTTONDBLCLK:          //双击左键的处理   
  27. 26          {   
  28. 27              this->ShowWindow(SW_SHOW);  //简单的显示主窗口  
  29. 28          }   
  30. 29          break;   
  31. 30      }   
  32. 31      return 0;   
  33. 32  }  

【代码解析】

第3行判断接收消息的窗口是否为主窗体,否则退出。第7行判断发送的消息类型,当为鼠标单击事件时,第9~23行弹出一个菜单,菜单有截图及退出两个子选项。截图菜单选项ID对应着主窗体的开始截图按钮,而退出菜单选项的ID对应着退出程序按钮。当消息为鼠标单击时,在第27行显示主窗体即可。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇11.2 动态链接库 下一篇11.5.3 控制模块最小化到托盘功能..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: