MirButton.h
上传用户:cydong117
上传日期:2009-11-10
资源大小:638k
文件大小:1k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. // MirButton.h: interface for the CMirButton class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_MIRBUTTON_H__45F351B2_5B11_4EB4_B067_1EE418C2530A__INCLUDED_)
  5. #define AFX_MIRBUTTON_H__45F351B2_5B11_4EB4_B067_1EE418C2530A__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. typedef struct tagBUTTONINFO
  10. {
  11. UINT nID;
  12. LONG left; 
  13. LONG top; 
  14. LONG right; 
  15. LONG bottom;
  16. UINT nState;
  17. } BUTTONINFO;
  18. #define BUTTON_STATE_UP 1// 0
  19. #define BUTTON_STATE_ON 2// 1
  20. #define BUTTON_STATE_DOWN 3// 2
  21. class CMirButton  
  22. {
  23. public:
  24. CMirButton();
  25. CMirButton(HWND hWnd, BUTTONINFO* lpButtonInfo);
  26. ~CMirButton();
  27. BOOL CheckMouseOn(int nPosX, int nPosY);
  28. BOOL CheckClick(POINT Pos);
  29. VOID SetBtn(HWND hWnd, BUTTONINFO* lpButtonInfo);
  30. VOID SetBtn(BUTTONINFO* lpButtonInfo);
  31. VOID ChangeBtnRect(RECT rc);
  32. VOID OnLButtonDown(POINT xPoint);
  33. VOID OnMouseMove(POINT xPoint);
  34. VOID OnLButtonUp(POINT xPoint);
  35. public:
  36. __inline BOOL IsInRect(int nPosX, int nPosY)
  37. { if (nPosX >= m_Rect.left && nPosX <= m_Rect.right && 
  38. nPosY >= m_Rect.top && nPosY <= m_Rect.bottom) return TRUE;
  39. else return FALSE; }
  40. INT m_nButtonID;
  41. HWND m_hParentWnd;
  42. RECT m_Rect;
  43. UINT m_nState;
  44. };
  45. #endif // !defined(AFX_MIRBUTTON_H__45F351B2_5B11_4EB4_B067_1EE418C2530A__INCLUDED_)