易语言树型框超快排序源码(支持升序降序及自定义排序)

.版本 2 .支持库 iext .程序集 窗口程序集1 .子程序 __启动窗口_创建完毕 .子程序 _按钮1_被单击 .局部变量 文本数组, 文本型, , "0" .局部变量 n, 整数型 重定义数组 (文本数组, 假, 树型框1.取项目数 ()) .计次循环首 (树型框1.取项目数 (), n) 文本数组 [n] = 树型框1.取项目文本 (n - 1) 树型框1.置项目数值 (n - 1, 取文本地址 (文本数组 [n], 文本数组 [n], 0)) .计次循环尾 () SortChildren (树型框1.取窗口句柄 (), 0, 1) ' Tpye=0是升序,1是降序 .子程序 SortChildren .参数 hWnd, 整数型 .参数 hItem, 整数型 .参数 Type, 整数型, 可空, 排序类型 .局部变量 hItemTemp, 整数型 .局部变量 TVSORTCB, TVSORTCB hItemTemp = hItem .循环判断首 () hItemTemp = TreeView_GetChild (hWnd, hItemTemp) .如果 (hItemTemp ≠ 0) SortChildren (hWnd, hItemTemp) .否则 hItemTemp = TreeView_GetNextSibling (hWnd, hItemTemp) .如果结束 .循环判断尾 (hItemTemp ≠ 0) TVSORTCB.hParent = hItem TVSORTCB.lpfnCompare = 到整数 (&CompareFunc) TVSORTCB.lParam = 选择 (Type = 0, 1, 0) SendMessageTree (hWnd, #TVM_SORTCHILDRENCB, 0, TVSORTCB) ' \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ' TVSORTCB://msdn.microsoft.com/en-us/library/bb773462(v=vs.85).aspx ' TVM_SORTCHILDRENCB://msdn.microsoft.com/en-us/library/bb773785(v=vs.85).aspx ' \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ .子程序 TreeView_GetChild, 整数型 .参数 hWnd, 整数型 .参数 hItem, 整数型 返回 (SendMessageA (hWnd, #TVM_GETNEXTITEM, #TVGN_CHILD, hItem)) .子程序 TreeView_GetNextSibling, 整数型 .参数 hWnd, 整数型 .参数 hItem, 整数型 返回 (SendMessageA (hWnd, #TVM_GETNEXTITEM, #TVGN_NEXT, hItem)) .子程序 CompareFunc, 整数型 .参数 lParam1, 整数型 .参数 lParam2, 整数型 .参数 lParamSort, 整数型 .局部变量 整数1, 整数型 .局部变量 整数2, 整数型 ' lParam1 和 lParam2 是 树型框.置表项数值() 的值; ' 如果 lParam1 要排在 lParam2 前面,则函数需要返回一个负数; ' 如果 lParam1 要排在 lParam2 后面,则函数需要返回一个正数; ' 如果不改变两者位置则返回0。 .判断开始 (lParamSort = 1) 返回 (lstrcmpA (lParam1, lParam2)) ' 升序 .默认 返回 (lstrcmpA (lParam2, lParam1)) ' 降序 .判断结束
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

易语言树型框超快排序源码(支持升序降序及自定义排序)》有0个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注