c++ builder TTreeView customSort 实现 自定义排序-阿里云开发者社区

开发者社区> 狂斩一条龙> 正文

c++ builder TTreeView customSort 实现 自定义排序

简介: //---------------------------------------------------------------------------int __stdcall mySort(long n1,long n2, long Reverse){ TTreeNode *Node...
+关注继续查看
//---------------------------------------------------------------------------
int __stdcall mySort(long n1,long n2, long Reverse)
{
TTreeNode *Node1=(TTreeNode*)n1;
TTreeNode *Node2=(TTreeNode*)n2;

//Reverse参数用来实现更加复杂的操作
//这里当Reverse=1时只排第一层为
// Reverse=0时排所有层
if(Reverse==1)
{
if(Node1->Level==1)//第一级结点按降序
{
if(StrToInt(Node1->Text)>StrToInt(Node2->Text))
{
return -1;
}
else
if(StrToInt(Node1->Text)<StrToInt(Node2->Text))
return 1;
else
return 0;
}
}
else
if(Reverse==0)
{
if(Node1->Level==1)//第一级结点按降序
{
if(StrToInt(Node1->Text)>StrToInt(Node2->Text))
{
return -1;
}
else
if(StrToInt(Node1->Text)<StrToInt(Node2->Text))
return 1;
else
return 0;
}
else//非一级结点按升序
{
if(StrToInt(Node1->Text)<StrToInt(Node2->Text))
{
return -1;
}
else
if(StrToInt(Node1->Text)>StrToInt(Node2->Text))
return 1;
else
return 0;
}
}

return 0; //其余不排序
}
void __fastcall TForm1::btn_SortClick(TObject *Sender)
{
TreeView1->CustomSort (mySort,0); //排序所有层
// TreeView1->CustomSort (mySort,1); //只排序第一层
/*
CustomSort(PFNTVCOMPARE SortProc, int Data; bool ARecurse = true)
参数Data值入回调函数第三个参数
*/
}

 

参考http://hi.baidu.com/pwf%D0%A1%CE%C0/blog/item/ebcda427c6f49d0a908f9d69.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Flutter 56: 图解自定义 BubbleWidget 气泡插件
0 基础学习 Flutter,第五十六步:尝试一下自定义气泡插件!
2666 0
2017 Multi-University Training Contest - Team 1 1002&&HDU 6034 Balala Power!【字符串,贪心+排序】
Balala Power! Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 2668    Accepted Submission(s...
1051 0
也玩MVC3.0 Razor自定义视图引擎“.NET技术”来修改默认的Views目录结构
刚刚爱上MVC3.0,几个不眠夜的学习越来越有趣。今天随手尝试自定义Mvc3.0的视图引擎,虽然已成功,但是还发现有点小疑问。随手贴出来希望大家指教指教。 MVC的视图文件目录被固定/Views目录内,区域视图文件也是被固定在/Areas目录下,出于好奇和对目录名的敏感,尝试修改它。
887 0
Android自定义相机拍照、图片裁剪的实现
原文:Android自定义相机拍照、图片裁剪的实现   最近项目里面又要加一个拍照搜题的功能,也就是用户对着不会做的题目拍一张照片,将照片的文字使用ocr识别出来,再调用题库搜索接口搜索出来展示给用户,类似于小猿搜题、学霸君等app。
972 0
Hbuilder应用离线本地自定义打包
Hbuilder离校本地Android应用打包
13661 0
Asp.net MVC Preview 4 中自定义Jquery的HtmlHelper扩展
前两天介绍了mvc pv4中AjaxHelper的用法 的确是比较方便,不过也有其缺点,那就是并不是所有人都用Asp.net Ajax的,所以这样做还是显示出了ms的霸气   没办法,工程里都用的是JQuery于是先试写了2个小功能   先说使用方法吧,第一个功能是Ajax载入另个页面                c.
734 0
+关注
狂斩一条龙
惯用c++,在windows平台做应用开发和底层研究,并对ua语言有深入的了解
476
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载