GraphButton.h
上传用户:hkb425
上传日期:2007-06-16
资源大小:34191k
文件大小:2k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. // GraphButton.h: interface for the CGraphButton class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_GRAPHBUTTON_H__66701B21_A5F2_11D6_814C_5254AB37CDC9__INCLUDED_)
  5. #define AFX_GRAPHBUTTON_H__66701B21_A5F2_11D6_814C_5254AB37CDC9__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #define   BUTTON_DEAD     -1
  10. #define   BUTTON_NORMAL    0
  11. #define   BUTTON_ACTIVATE  1
  12. #define   BUTTON_PUSHED    2
  13. #define   TEXT_ALIGN_LEFT  -1
  14. #define   TEXT_ALIGN_CENTER 0
  15. #define   TEXT_ALIGN_RIGHT  1
  16. #include "input.h"
  17. #include "imgtext.h"
  18. class CGraphButton  
  19. {
  20. public:
  21. CGraphButton();
  22. virtual ~CGraphButton();
  23. void   RenderButton();
  24. void   SetButton(RECT rect,char sText[],int state=BUTTON_NORMAL,int iTextAlign=TEXT_ALIGN_CENTER);
  25. void   SetButton(RECT rect,unsigned int texID,int state=BUTTON_NORMAL);
  26. void   SetButtonRect(RECT rect);
  27. void   SetButtonText(char sText[],int iTextAlign=TEXT_ALIGN_CENTER);
  28. void   SetButtonPicture(unsigned int texID);
  29. void   SetButtonState(int state);
  30. void   SetActivateColor(float r,float g,float b);
  31. void   SetNormalColor(float r,float g,float b);
  32. void   SetRectangleColor(float r,float g,float b);
  33. void   UpdateButton();
  34. void   DrawButton();
  35.     bool     m_bSelected;
  36. RECT     m_rect;
  37. int      m_iState;
  38. bool     m_bShowPicture;
  39. char     m_sText[32];
  40. CInput   m_cInput;
  41. private:
  42. bool     IsInRect();
  43. unsigned int m_texID;
  44. CImgText     m_cText;
  45. int          m_iTextAlign;
  46. float    m_crNormal[3];
  47. float    m_crActivate[3];
  48.     float    m_crRect[3];
  49. };
  50. #endif // !defined(AFX_GRAPHBUTTON_H__66701B21_A5F2_11D6_814C_5254AB37CDC9__INCLUDED_)