|

分享例程
界面截图: |
|
备注说明: |
先声明,此模块不是本人编写的我也没这本事,我是在论坛上下载的,我只是解决在使用过程中的一些问题希望能给广大易友在使用此模块时遇到同样问题一些帮助。 |
我之前在论坛里有问过在使用 超列_模拟虚表 时的一些问题现在在这里总结下,第一就是在使用时载入一个窗口后超级列表框就会变大,而关闭时就会变小,这个问题的解决方案是,易友“请叫我胖虎”给出的,就是删除图片中的两条代码。第二就是载入后不能显示到最后一条,这个问题是我自己解决的,也要感谢在论坛里易友给出的其它方案就是先记录集1.到尾记录 () 循环后在记录集1.到前一条 (),使反过来,倒排序,把尾部放在最前面,不过这个效果不是我想要的,后面就自己解决啦,添加了几条代码,如下图。
|
填充列表 | | | |
参数_记录数 | 整数型 | | | | 参数_填充数据 | 子程序指针 | | | | 参数_是否到最后 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_变量_滚动条位置 | 整数型 | | | 局_变量_表项数 | 整数型 | | |
如果真 (集_判断_绑定成功 = 假) 信息框 (“请先进行绑定.”, 0, “提示:”) 返回 ()集_指针_填充数据 = 参数_填充数据集_变量_记录数 = 参数_记录数 集_控件_滚动条. 重置滚动条 (1, 1, SendMessage (集_控件_超级列表框. 取窗口句柄 (), 4136, 0, 0 ), 集_变量_记录数 )集_控件_超级列表框. 全部删除 ()局_变量_表项数 = SendMessage (集_控件_超级列表框. 取窗口句柄 (), 4136, 0, 0 ) 如果真 (局_变量_表项数 > 集_变量_记录数 ) 局_变量_表项数 = 集_变量_记录数  计次循环首 (局_变量_表项数, ) 集_控件_超级列表框. 插入表项 (, , , , , ) 计次循环尾 ()调用子程序 (辅_字节集到子程序地址 (集_地址_填充数据 ), , , 1 ) 如果真 (参数_是否到最后 = 假)  局_变量_滚动条位置 = 集_变量_记录数 - SendMessage (集_控件_超级列表框. 取窗口句柄 (), 4136, 0, 0 ) + 1  如果真 (局_变量_滚动条位置 < 1 )  局_变量_滚动条位置 = 1 集_控件_滚动条.重置滚动条 (, 局_变量_滚动条位置, SendMessage (集_控件_超级列表框.取窗口句柄 (), 4136, 0, 0), 集_变量_记录数) 局_变量_滚动条位置 = 集_控件_滚动条. 取滚动条位置 () 调用子程序 (辅_字节集到子程序地址 (集_地址_填充数据 ), , , 局_变量_滚动条位置 )|
NewProc | 整数型 | | |
hWnd | 整数型 | | | | Msg | 整数型 | | | | wParam | 整数型 | | | | lParam | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_变量_横向滚动条 | 逻辑型 | | | 局_变量_滚动条位置 | 整数型 | | | 局_变量_计次 | 整数型 | | |
判断 (Msg = #WM_PAINT ) 局_变量_计次 = 局_变量_计次 + 1  如果 (集_控件_超级列表框.高度 - 集_控件_超级列表框. 取用户区高度 () > 8 )  如果真 (局_变量_横向滚动条 = 假)   集_控件_超级列表框.高度 = 集_控件_超级列表框.高度    局_变量_横向滚动条 = 真            如果真 (局_变量_横向滚动条 = 真)  集_控件_超级列表框.高度 = 集_控件_超级列表框.高度   局_变量_横向滚动条 = 假        如果真 (集_控件_超级列表框.宽度 - 集_控件_超级列表框. 取用户区宽度 () < 8 )  集_控件_滚动条. 重置滚动条 (, , , 集_变量_记录数 )   判断 (Msg = #WM_VSCROLL ) 集_控件_滚动条. 置滚动条位置 (wParam ) 返回 (0 ) 判断 (Msg = #WM_KEYDOWN ) 局_变量_滚动条位置 = 集_控件_滚动条. 取滚动条位置 () 判断 (集_控件_超级列表框.现行选中项 = SendMessage (集_控件_超级列表框. 取窗口句柄 (), 4136, 0, 0 ) - 1 )  判断 (wParam = #下光标键 )   局_变量_滚动条位置 = 局_变量_滚动条位置 + 1             判断 (集_控件_超级列表框.现行选中项 = 0 )  判断 (wParam = #上光标键 )   局_变量_滚动条位置 = 局_变量_滚动条位置 - 1                     如果真 (局_变量_滚动条位置 > 集_变量_记录数 - SendMessage (集_控件_超级列表框. 取窗口句柄 (), 4136, 0, 0 ) + 1 )  局_变量_滚动条位置 = 集_变量_记录数 - SendMessage (集_控件_超级列表框. 取窗口句柄 (), 4136, 0, 0 ) + 1  如果真 (局_变量_滚动条位置 < 1 )  局_变量_滚动条位置 = 1 集_控件_滚动条.重置滚动条 (, 局_变量_滚动条位置, , ) 判断 (Msg = #WM_MOUSEWHEEL ) 集_控件_滚动条. 滚动滚动条 (辅_取高16位 (wParam ) ÷ 120 ) 返回 (0 )    返回 (CallWindowProc (集_地址_旧函数, hWnd, Msg, wParam, lParam )) 
|
评分
-
查看全部评分
|