找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 4283|回复: 0

[分享] vc之托盘图标的创建

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2010-1-27 21:12:28 | 显示全部楼层 |阅读模式
  1. int CIMOPDlg::OnCreate()
  2. {


  3. // if (CDialog::OnCreate(lpCreateStruct) == -1)
  4. // return -1;
  5. m_tnid.cbSize = sizeof(NOTIFYICONDATA);
  6. m_tnid.hWnd = this->m_hWnd;
  7. m_tnid.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
  8. m_tnid.uCallbackMessage = MYWM_NOTIFYICON; //用户自定义回调消息
  9. CString szTooltip;
  10. szTooltip = _T("");
  11. _tcscpy(m_tnid.szTip,szTooltip);
  12. m_tnid.uID = IDR_MAINFRAME; //托盘图标
  13. HICON hicon;
  14. hicon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  15. m_tnid.hIcon = hicon;
  16. ::Shell_NotifyIcon(NIM_ADD,&m_tnid);
  17. // if(hicon)::DestroyIcon(hicon);
  18. return 0;


  19. } //创建托盘

  20. LRESULT CIMOPDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
  21. {
  22. switch(message)
  23. {
  24. case MYWM_NOTIFYICON: //自定义消息
  25. if(lParam == WM_LBUTTONDBLCLK)
  26. {
  27. AfxGetApp()->m_pMainWnd->ShowWindow(SW_SHOW);
  28. }
  29. else if(lParam == WM_RBUTTONDOWN)
  30. {
  31. CMenu menu;
  32. menu.LoadMenu(IDR_MENU1);
  33. CMenu *pMenu = menu.GetSubMenu(0);
  34. CPoint point;
  35. GetCursorPos(&point);
  36. pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,AfxGetMainWnd());
  37. }
  38. break;
  39. case WM_SYSCOMMAND: //系统消息
  40. if(wParam == SC_MINIMIZE)
  41. {
  42. AfxGetApp()->m_pMainWnd->ShowWindow(SW_HIDE);
  43. return 0;
  44. }
  45. break;
  46. }
  47. return CDialog::WindowProc(message, wParam, lParam);


  48. } //相应托盘消息
复制代码
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表