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

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 界面窗口体系结构--列表窗口
  3. // Copyright : Kingsoft 2002
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2002-9-11
  6. ------------------------------------------------------------------------------------------
  7.     列表窗口只列出文字。但是每项都可以关联其他数据。
  8. *****************************************************************************************/
  9. #pragma once
  10. #include "WndWindow.h"
  11. #include "WndScrollBar.h"
  12. #define WNDLIST_ES_HIGHLIGHT_ENABLE 0x0001 //以不同颜色显示鼠标指针指向的项
  13. #define WNDLIST_ERROR -1
  14. class KWndList2 : public KWndWindow
  15. {
  16. public:
  17. virtual int Init(KIniFile* pIniFile, const char* pSection);//初始化
  18. virtual int WndProc(unsigned int uMsg, unsigned int uParam, int nParam);//窗口函数
  19. virtual void PaintWindow(); //绘制窗口
  20. int AddString(int nIndex, const char* pString);//添加项
  21. int GetString(int nIndex, char* pBuffer, unsigned int nSize);//获取列表项的字符串内容
  22. int DeleteString(int nIndex); //删除列表中的一项
  23. void ResetContent(); //删除列表中全部的内容
  24. //在列表中查找某个字符串。
  25. int FindString(int nPrecedingStart, const char* pString);
  26. int SetItemData(int nIndex, int nData); //设置列表项关联数据的值
  27. int GetItemData(int nIndex); //获得列表项关联数据的值
  28. void SetTopItemIndex(int nTopItemIndex); //获得列表窗口顶部显示的数据项的索引
  29. int GetVisibleLineCount() const; //获得列表框可以同时显示的项的数目
  30. int GetCount()  { return m_nNumItem; } //获取数据项的总数目
  31. int GetCurSel() { return m_nSelItemIndex;  }//得到当前选择的数据项的索引
  32. int SetCurSel(int nSel);
  33. void SetScrollbar(KWndScrollBar* pScroll);
  34. KWndList2();
  35. virtual ~KWndList2();
  36. protected:
  37. void Clone(KWndList2* pCopy);
  38. private:
  39. void OnLButtonDown(int x, int y); //响应鼠标左键按下
  40. void OnMouseMove(int x, int y); //响应鼠标在列表窗口上移动
  41. private:
  42. void** m_pContent; //列表项内容数据
  43. int m_nItemSpace; //可以保存的item的数目
  44. int m_nNumItem; //数据项的数目
  45. int m_nTopItemIndex; //窗口顶部显示的数据项的索引
  46. int m_nSelItemIndex; //选中的数据项的索引
  47. int m_nHighLightItemIndex; //高亮度显示(鼠标指针下方)的数据项的索引
  48. unsigned int m_ItemColor; //显示数据项文本的颜色
  49. unsigned int m_ItemBorderColor; //显示数据项文本的边缘颜色
  50. unsigned int m_SelItemColor; //被选中的数据项文本的颜色
  51. unsigned int m_SelItemBorderColor; //被选中的数据项文本的边缘颜色
  52. unsigned int m_HighLightColor; //高亮度显示的数据项文本的颜色
  53. unsigned int m_HighLightBorderColor; //高亮度显示的数据项文本的边缘颜色
  54. int m_nFontSize; //显示字体大小
  55. KWndScrollBar  *m_pScrollbar;
  56. };