本人的思路如下:在virtual下,用TList来保存数据,同时用TList来保存按column的情况(这个通过重载窗口过程实现)
排序采用(TList.Sort方法):procedure Sort(Compare: TListSortCompare);
由于函数原型:TListSortCompare = function (Item1, Item2: Pointer): Integer;只有两个参数,所以用来排序的TList没法在此函数中起作用。哪位高手可以提供点建议,或已经实现的话,能不能给点思路或代码?
排序采用(TList.Sort方法):procedure Sort(Compare: TListSortCompare);
由于函数原型:TListSortCompare = function (Item1, Item2: Pointer): Integer;只有两个参数,所以用来排序的TList没法在此函数中起作用。哪位高手可以提供点建议,或已经实现的话,能不能给点思路或代码?
首先对你的回复表示感谢。我看了它的例子的,它只是告诉你怎么用virtual,并没有讲到排序的问题。
你的东西我看了,做的不错。但是没有理解我的意思,你的只能实现单列排序,没法多列排序啊。单列排序我早就实现了,而且多列排序在非virtual下我也实现了, 就是先按住某列排序,然后按住Ctrl键,鼠标再在其他列上点击,就在前面排序基础上再进行这列的排序,依次类推,可以实现所有列的排序,而且列的属性可以设置,是字符串还是整型或者浮点型等。
我现在主要是做一个BPL,直接拿过来用就可以了,就像TListview一样。