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

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 界面窗口体系结构--滚动条窗口
  3. // Copyright : Kingsoft 2002
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2002-7-22
  6. ------------------------------------------------------------------------------------------
  7. *****************************************************************************************/
  8. #pragma once
  9. #include "WndWindow.h"
  10. #include "WndButton.h"
  11. #define WNDSCROLL_ES_VERTICAL 0x0001 //垂直型的滚动条
  12. #define WNDSCROLL_F_DRAGGING_SLIDE 0x0100 //滚动条的滑块正在被拖动
  13. class KWndScrollBar : public KWndImage
  14. {
  15. private:
  16. unsigned int m_Flag;
  17. int m_nMinValue; //最小值
  18. int m_nMaxValue; //最大值
  19. int m_nCurValue; //当前值
  20. // int m_nLineSize; //一行大小
  21. int m_nPageSize; //一页大小
  22. int m_nMinPosition; //滑动活动起始位置
  23. int m_nMaxPosition; //滑动活动终止位置
  24. KWndButton m_SlideBtn; //滑动按钮
  25. int m_nImgRange; //重复贴图时,贴图的宽度或高度
  26. public:
  27. KWndScrollBar();
  28. virtual int Init(KIniFile* pIniFile, const char* pSection); //初始化
  29. virtual int WndProc(unsigned int uMsg, unsigned int uParam, int nParam);//窗口函数
  30. virtual void PaintWindow(); //窗体绘制
  31. void SetSize(int nWidth, int nHeight); //设置窗口大小
  32. int ScrollLine(bool bPre);
  33. int ScrollPage(bool bPre);
  34. void SetScrollPos(int nPosition); //设置位置
  35. int GetScrollPos() { return m_nCurValue; } //获取位置
  36. void SetValueRange(int nMinValue, int nMaxValue); //设置取值范围
  37. int GetMaxValue() { return m_nMaxValue;} //取值范围
  38. int GetMinValue() { return m_nMinValue;} //取值范围
  39. void Clone(KWndScrollBar* pCopy);
  40. int GetMinHeight();
  41. private:
  42. void OnLButtonDown(int x,int y); //响应鼠标左键按下
  43. void OnSlideBtnPressed(); //响应滑动按钮被按下
  44. void OnDraggingSlide(int x, int y); //正在拖动滑动按钮
  45. void SetSlideBtnPos(); //设置滑动块窗口位置
  46. };