建立程序托盘图标

来源:互联网 发布:linux系统下安装软件 编辑:程序博客网 时间:2024/04/23 20:22

 1.定义消息
在头文件里定义
#define WM_MY_LBUTTONDOWN WM_USER+123


afx_msg LRESULT OnMyButtonDown(WPARAM wParam, LPARAM lParam);

2.cpp里

ON_MESSAGE(WM_MY_LBUTTONDOWN, OnMyButtonDown)

3.初始化里:
 NOTIFYICONDATA tnd;
 tnd.cbSize=sizeof(NOTIFYICONDATA);
 tnd.hWnd=this->m_hWnd;
 tnd.uID=IDI_ICON2;
 tnd.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
 tnd.uCallbackMessage=WM_MY_LBUTTONDOWN;
 tnd.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON2));
 Shell_NotifyIcon(NIM_ADD,&tnd);
4.消息函数

LRESULT CImageViewerDlg::OnMyButtonDown(WPARAM wParam, LPARAM lParam)
{
 UINT IDu;
 UINT MouseMsgU;
 POINT Pt;
 IDu=(UINT)wParam;
 MouseMsgU=(UINT)lParam;
 if(MouseMsgU==WM_LBUTTONDOWN)
 { 
  switch(IDu)
  {
  case IDI_ICON2:
   GetCursorPos(&Pt);
  // CImageViewerDlg  mos;
  // mos.DoModal();
   break;
  }
 }

 if(MouseMsgU==WM_RBUTTONDOWN)
 { 
  switch(IDu)
  {
  case IDI_ICON2:
   GetCursorPos(&Pt);
   AfxGetApp()->m_pMainWnd->ShowWindow(SW_SHOWNORMAL);
   break;
  }
 }

 return 0;
}

原创粉丝点击