WxMgr.h 1020 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef __WX_MRG__
  2. #define __WX_MRG__
  3. #include <map>
  4. #include "CWxObject.h"
  5. #include "BtnST.h"
  6. #pragma once
  7. typedef struct _WXOBJINFO_
  8. {
  9. CButtonST *pWxButton;
  10. CStatic *pWxChatWnd;
  11. CWxObject *pWxObject;
  12. }WXOBJINFO;
  13. class CWxMgr
  14. {
  15. public:
  16. CWxMgr(CWnd *pMainWnd = NULL);
  17. ~CWxMgr();
  18. private:
  19. CWnd *m_pMainWnd;
  20. CRect m_rcWxList;
  21. CRect m_rcWxShow;
  22. std::map<DWORD, WXOBJINFO> m_mapWx;
  23. VOID AddMapItem(DWORD dwProcId, LPCTSTR lpItemName);
  24. VOID RemoveMapItem(DWORD dwProcId);
  25. CRect CalcRect();
  26. // ΢ÐÅ·¾¶;
  27. static TCHAR m_szWeChatPath[MAX_PATH];
  28. public:
  29. DWORD GetFreeButtonId(DWORD dwProcId);
  30. VOID ReSetButtonKey(DWORD dwProcId);
  31. void InitButtonIds();
  32. // °´Å¥ID<°´Å¥Id,½ø³ÌID>
  33. std::map<DWORD, DWORD> m_mapIds;
  34. public:
  35. VOID SetMainWnd(CWnd *pWnd, CRect rcWxList, CRect rcWxShow) {
  36. m_pMainWnd = pWnd;
  37. m_rcWxList = rcWxList;
  38. m_rcWxShow = rcWxShow;
  39. }
  40. BOOL AttachUnMgrWxProc(CWnd *pWnd);
  41. BOOL AttachWx();
  42. VOID DetachAllWxProc();
  43. BOOL OpenWeChat();
  44. BOOL GetWeChatPath();
  45. };
  46. #endif //__WX_MRG__