使用VC++进行Tray区编程  
发布时间: 2008-7-10 文章流量: 734 次 文章来源: 悠索科技-转载
作品名称   使用VC++进行Tray区编程  
作品编号  
编程工具  
数 据 库  
论文字数   2000 字
运行环境  
论文价格   200 元
推荐指数   ☆☆☆☆☆
包含内容  
整理日期  
作品简介

使用VC++进行Tray区编程

1。使用向导建立一个MFC对话框应用程序,假设叫TrayDemo

2。增加消息处理函数
 virtual BOOL OnInitDialog();
 afx_msg void OnDestroy();
 afx_msg void OnSize(UINT nType, int cx, int cy);
 afx_msg LRESULT OnTrayNotify(WPARAM wParam,LPARAM lParam); // 手动增加

3。在TrayDemoDlg。h中增加成员
 private:
  NOTIFYICONDATA m_nfData;

4。在TrayDemoDlg。cpp增加以下语句
 在文件前部增加
  #define WM_TRAY_NOTIFY  WM_USER+100
  #define ID_TRAY_ICON  1

 在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间手动增加
  ON_MESSAGE(WM_TRAY_NOTIFY,OnTrayNotify)

 在CTrayDemoDlg::OnInitDialog()函数中增加
  m_nfData。cbSize=sizeof(m_nfData);
  m_nfData。hWnd=GetSafeHwnd();
  m_nfData。uID=ID_TRAY_ICON;
  m_nfData。uFlags=NIF_ICON | NIF_TIP | NIF_MESSAGE;
  m_nfData。uCallbackMessage=WM_TRAY_NOTIFY;
  m_nfData。hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  CString strTip("I,Robot");
  strcpy(m_nfData。szTip,strTip);
  Shell_NotifyIcon(NIM_ADD,&m_nfData);  // 启动时,加到Tray区中
  m_nfData。uFlags=NIF_TIP;

 在CTrayDemoDlg::OnDestroy()函数中增加
  Shell_NotifyIcon(NIM_DELETE ,&m_nfData); // 退出时,从Tray区中删除

 修改CTrayDemoDlg::OnSize(UINT nType, int cx, int cy)函数为
  if(nType==SIZE_MINIMIZED)
  {
   ShowWindow(SW_HIDE);
  }
  else
   CDialog::OnSize(nType, cx, cy);

 增加OnTrayNotify函数
  LRESULT CTrayDemoDlg::OnTrayNotify(WPARAM /*wParam*/,LPARAM lParam)
  {
   if(lParam==WM_LBUTTONDOWN)
   {
    ShowWindow(SW_RESTORE);
    SetForegroundWindow();
   }
   else if(lParam==WM_RBUTTONDOWN)
   {
    POINT pos;
    CMenu menuPopup;
    GetCursorPos(&pos);
    menuPopup。LoadMenu(IDR_POPUP);
    menuPopup。GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN  | TPM_RIGHTBUTTON,pos。x,pos。y,this);
   }

   return 0;
  }

5。增加一个浮动菜单IDR_POPUP


下载地址  
购买说明 计算机毕业设计完整作品。
包括源程序、可执行文件、开题报告、论文、英文文献和中文翻译。
请加客户服务联系 15303601058 联系QQ:380894045/279018395 EMAIL:CareF@CareF.CN 获取作品的详细资料。
相关链接  
上一篇: 枚举系统所有进程和进程所有线程(比如:获得线程窗口)
下一篇: 获取其它进程中的Web Browser中的HTML源码
信息回复  
版权所有 Copyright 2005-2008 悠索科技 Inc. All Rights Reserved
联系QQ: 380894045 279018395 EMAIL:CareF@CareF.CN
黑ICP备06003839号 黑ICP备08000316号