点击listview列头,产生升降序排列的问题,(50分)

  • 主题发起人 fu_qi_ming
  • 开始时间
F

fu_qi_ming

Unregistered / Unconfirmed
GUEST, unregistred user!
点击listview列头,产生升降序排列的问题,就象windows的资源管理器一样
 
delphi的帮助里有现成的例子
两个事件
oncolumnclick; oncompare;

var ColumnToSort: Integer;
procedure TForm1.ListView1ColumnClick(Sender: TObject; Column: TListColumn);
begin
ColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort;
end;
procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer);
var
ix: Integer;
begin
if ColumnToSort = 0 then
Compare := CompareText(Item1.Caption,Item2.Caption)
else begin
ix := ColumnToSort - 1;
Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
end;
end;
 
这只能实现升序,
降序呢?(也就是先点一下升序,再点一下降序)
还有列头上的上三角和下三角
 
基本已经实现
 
顶部