ChaosUI.h
上传用户:liguizhu
上传日期:2015-11-01
资源大小:2422k
文件大小:2k
源码类别:

P2P编程

开发平台:

Visual C++

  1. /*
  2.  *  Openmysee
  3.  *
  4.  *  This program is free software; you can redistribute it and/or modify
  5.  *  it under the terms of the GNU General Public License as published by
  6.  *  the Free Software Foundation; either version 2 of the License, or
  7.  *  (at your option) any later version.
  8.  *
  9.  *  This program is distributed in the hope that it will be useful,
  10.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  *  GNU General Public License for more details.
  13.  *
  14.  *  You should have received a copy of the GNU General Public License
  15.  *  along with this program; if not, write to the Free Software
  16.  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  17.  *
  18.  */
  19. #ifndef __CHAOSUI_H_
  20. #define __CHAOSUI_H_
  21. #include "BalloonHelp.h"
  22. #include "TrayIconPosition.h"
  23. class CLocalServer;
  24. class CMsgMgr;
  25. // { Declaration of CChaosUI
  26. class CChaosUI
  27. {
  28. public:
  29. static CChaosUI *CreateInstance(CLocalServer *pLocalServer);
  30. static void DeleteInstance();
  31. void ShowMessage(const CString &strMessage, BOOL bForceShow, BOOL bForceHide, BOOL doAnime);
  32. void ShowBalloon();
  33.     void DeliverExit();
  34. protected:
  35.     CChaosUI();
  36. CChaosUI(const CChaosUI&);
  37. virtual ~CChaosUI();
  38. CChaosUI &operator=(const CChaosUI&);
  39. void Init(CLocalServer *pLocalServer) { m_pLocalServer = pLocalServer; }
  40. BOOL InitTrayIconData();
  41. void ShowTrayIcon(BOOL bShow, BOOL bDoAnime);
  42. // static void CALLBACK _MMTimeProc(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2);
  43. // static DWORD WINAPI _MsgProc(LPVOID param);
  44. static unsigned int __stdcall _MsgProc(void* param);
  45. BOOL GetMessage(CMsgMgr* pMsgMgr, CString& str, BOOL& bForceShow, BOOL& bForceHide, BOOL& bAnimeIcon);
  46. private:
  47. static CChaosUI *m_pChaosUI;
  48. // static CCritSec m_MMTimerCritSec;
  49. volatile BOOL m_bthreadstop;
  50. HANDLE m_hmsgthread;
  51. CBalloonHelp* m_pblHelp;
  52. POINT oldptIcon;
  53. BOOL m_bBalloonShowing;
  54. CTrayIconPosition m_TrayIconPositon;
  55. CCritSec m_CritSec;
  56. NOTIFYICONDATA m_TrayIconData;
  57. BOOL m_bTrayIconExist;
  58. HICON m_IconMysee;
  59. HICON m_IconAnime[6];
  60. static UINT m_uMMTimer;
  61. CLocalServer *m_pLocalServer;
  62. };
  63. // Declaration of CChaosUI }
  64. #endif