WxMgr.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. CButtonST *GetButton(DWORD dwProcId);
  35. CStatic *GetWxChatWnd(DWORD dwProcId);
  36. CWxObject *GetWxObject(DWORD dwProcId);
  37. int GetAttachCount() { return m_mapWx.size(); }
  38. public:
  39. VOID SetMainWnd(CWnd *pWnd, CRect rcWxList, CRect rcWxShow) {
  40. m_pMainWnd = pWnd;
  41. m_rcWxList = rcWxList;
  42. m_rcWxShow = rcWxShow;
  43. }
  44. BOOL AttachUnMgrWxProc(CWnd *pWnd);
  45. BOOL AttachWx();
  46. VOID DetachAllWxProc();
  47. BOOL OpenWeChat();
  48. BOOL GetWeChatPath();
  49. };
  50. #endif //__WX_MRG__