[TShellListView] Tri des éléments
J'essaie de trier des éléments contenus dans un ShellListView, après que l'utilisateur ait cliqué sur l'entête d'une colonne. Pour cela, j'utilise la fonction CustomSort de TListView dont hérite TShellListView. Seulement, j'ai l'impression que le tri ne veut pas se faire, et que CustomSort n'est pas appelé correctement ( la fonction me renvoie toujours 0, c'est-à-dire False ). Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
function CustomSortProc(Item1,Item2:TListItem;ParamSort:integer):integer;stdcall;
begin
if ParamSort=0 then
Result:=CompareText(Item1.Caption,Item2.Caption);
else
Result:=CompareText(Item1.SubItems[ParamSort-1],Item2.SubItems[ParamSort-1]);
end;
procedure TFTPSeeKerForm.LocalListViewColumnClick(Sender: TObject;
Column: TListColumn);
var numeroColonne:integer;
begin
numeroColonne:=0;
while ((numeroColonne<=LocalListView.Columns.Count-1) and (Column.Caption<>LocalListView.Columns[numeroColonne].Caption)) do numeroColonne:=numeroColonne+1;
LocalListView.CustomSort(@CustomSortProc,numeroColonne);
end; |
Pour écrire CustomSortProc, je me suis inspiré de l'aide de Delphi, mais ça ne veut pas marcher....
Merci beaucoup !
a+