WndLabeledButton.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 界面窗口体系结构--带文字按键窗口
  3. // Copyright : Kingsoft 2002
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2002-10-4
  6. ------------------------------------------------------------------------------------------
  7. 带文字按钮窗口。
  8. *****************************************************************************************/
  9. #pragma once
  10. #include "WndButton.h"
  11. #include "WndText.h"
  12. //===========================================
  13. // 简单的带文字按钮窗口。
  14. // 文字单行,居中处理,文字中不包含控制符。
  15. //===========================================
  16. class KWndLabeledButton : public KWndButton
  17. {
  18. public:
  19. KWndLabeledButton();
  20. void SetLabel(const char* pLabel); //设置按钮标题文字
  21. int GetLabel(char* pLabel, int nSize);
  22. void SetLabelColor(unsigned int Color); //设置按钮标题文字颜色
  23. virtual int Init(KIniFile* pIniFile, const char* pSection); //初始化
  24. virtual void PaintWindow(); //窗体绘制
  25. void Clone(KWndLabeledButton* pCopy);
  26. private:
  27. char m_Label[32]; //标题文字
  28. int m_nLabelLen; //标题文字串的长度,不包括结束符号
  29. int m_nFontSize; //标题文字的大小
  30. int m_nLabelYOffset; //标题文字向下偏移的量
  31. unsigned int m_FontColor; //标题文字的颜色
  32. unsigned int m_FontBorderColor; //标题文字的边缘颜色
  33. unsigned int m_OverColor; //鼠标移动到上面时候的文字颜色
  34. unsigned int m_OverBorderColor; //鼠标移动到上面时候的文字边缘颜色
  35. };
  36. //=====================================================
  37. // 复杂的带文字按钮窗口。
  38. // 文字可以为单行,也可以为多行,单行时候可以指定
  39. // 水平以及垂直的对齐方式。文字中可以包含控制符。
  40. //=====================================================
  41. class KWndRichLabeledButton : public KWndButton
  42. {
  43. public:
  44. void SetLabel(const char* pLabel, int nLen); //设置按钮标题文字
  45. void SetLabelColor(unsigned int Color); //设置按钮标题文字颜色
  46. virtual int Init(KIniFile* pIniFile, const char* pSection); //初始化
  47. virtual void PaintWindow(); //窗体绘制
  48. private:
  49. KWndText256 m_Label; //标题文字控件
  50. };