ShellListView如何排序,用ListView的方法不行啊?
void __fastcall TForm1::ShellListView1ColumnClick(TObject *Sender,
TListColumn *Column)
{
ShellListView1->CustomSort(CustomSortProc, 0));
}
//---------------------------------------------------------------------------
int __stdcall CustomSortProc(long Item1, long Item2, long ParamSort)
{
return -CompareText(((TListItem *)Item1)->Caption,((TListItem *)Item2)->Caption);
//return -CompareText(((TListItem *)Item1)->SubItems->Strings[0],((TListItem *)Item2)->SubItems->Strings[0]);
}
上边的方法在ListView中是好用的,但是ShellListView中无效果,我看了ShellListView好象对CustomSort这个函数进行了重载,不知道做了什么改动。如何才能实现资源管理器的排序效果啊?
问题点数:0、回复次数:16Top
1 楼constantine(飘遥的安吉儿)回复于 2003-11-02 12:27:32 得分 0
你自己去看他自带的例子就可以了,里面有阿。Top
2 楼netying()回复于 2003-11-02 12:33:02 得分 0
例子我看了,但是那个只能是设置sorted属性,不能象资源管理器那样对文件大小,时间,文件类型等排序Top
3 楼netying()回复于 2003-11-02 16:36:19 得分 0
高手帮忙啊Top
4 楼netying()回复于 2003-11-03 18:06:42 得分 0
up.Top
5 楼pzoon(杀死日本人)回复于 2003-11-03 19:09:19 得分 0
我也帮你UPTop
6 楼netying()回复于 2003-11-03 21:38:58 得分 0
只能up..Top
7 楼netying()回复于 2003-11-04 12:42:09 得分 0
实在不行是不是要自己写算法了?Top
8 楼netying()回复于 2003-11-04 19:53:32 得分 0
在顶。Top
9 楼Friecin(雪客)回复于 2003-11-05 01:13:22 得分 0
int __fastcall MyCompare(TTreeNode *Node1,TTreeNode *Node2, int Reverse)
{
int RET = Node1->ImageIndex > Node2->ImageIndex ? 1:0;
if ( Reverse )
return -RET;
return RET;
}
试一试吧,下面是正反排序的代码:
TreeView1->CustomSort((CommCtrl::TTVCompare)MyCompare, 0);
TreeView1->CustomSort((CommCtrl::TTVCompare)MyCompare, 1);
看看对你有没有帮助!Top
10 楼netying()回复于 2003-11-05 08:23:11 得分 0
Friecin(雪客) :这段代码我也看过,跟我写的那段是一个意思,这个是treeview的,
我在listview中都好用,可是shelllistview中就不好用了Top
11 楼netying()回复于 2003-11-06 12:15:00 得分 0
up.............Top
12 楼sfemil(心洋)回复于 2003-11-06 13:05:37 得分 0
给你一个Delphi的网站 有人问到这个问题。有解答。
http://www.aidelphi.com/ShowTopic.asp?TopicID=2841&PageIDX=1&SpaceID=18#CurrentTopicTop
13 楼penu(懒猫·子在川上之再上征程·杀人无心之寓怒于静)回复于 2003-11-06 13:30:38 得分 0
如果你是用的BCB自带的ShellList组件,那么你可以查看它的源代码并进行修改后重新安装。Top
14 楼netying()回复于 2003-11-08 11:07:27 得分 0
谢谢各位,看来真没有办法了,试着改这个控件Top
15 楼netying()回复于 2004-01-15 18:57:08 得分 0
这个现在有没有人做过呀,我可以再加分啊!Top
16 楼yxlab()回复于 2004-03-25 21:31:38 得分 0
可以用http://plasmatech.com/上介绍的VCL组件,功能强大。Top




