:260.394KB : :1 :2020-02-16 18:14:44
那只能子类化了 之前有了解过一点点 这次的代码也基本参照的网上的源码 应该还有很多遗漏没写完整的 但是初步使用我觉得差不多 各路大神勿喷
源码里面的代码部分基本上按照我自己的理解带有解释。
' 计算鼠标在选择列表框内的坐标
源组件_位置大小 = 窗口_取位置和大小 (组件_窗口句柄) ' 更新选择列表框 位置信息
坐标.左边 = 取鼠标水平位置 () - 源组件_位置大小.左边
坐标.顶边 = 取鼠标垂直位置 () - 源组件_位置大小.顶边
窗口_取区域位置 (组件_窗口句柄, 坐标)
列表框_焦点索引 = 列表框_从坐标取项目索引 (组件_窗口句柄, 坐标.左边, 坐标.顶边, 假) ' 从坐标取得当前鼠标指向的是哪一个索引
列表框_当前索引 = SendMessageA (组件_窗口句柄, #LB_GETCARETINDEX, 0, 0) ' 取出已经有焦点的索引
.如果真 (列表框_焦点索引 > -1 且 列表框_焦点索引 ≠ 列表框_当前索引) ' 鼠标经过处有索引 且 判断鼠标经过的索引是不是已经有焦点了
窗口_置控件焦点 (组件_窗口句柄) ' 如果不设置组件的焦点的话 就需要手动获取焦点然后才会显示选中项
SendMessageA (组件_窗口句柄, #LB_SETCURSEL, 列表框_焦点索引, 0) ' 发送信息 设置选择列表框的选中项
06-12选择列表框读取保存模块
06-09易语言高级选择夹源码关闭按钮纯组件美化