CustomSort (C++)
Description
The following code orders a list view in reverse alphabetical order on the click of a button. The callback function CustomSortProc calls the global CompareText function and negates its return value.
int __stdcall CustomSortProc(long Item1, long Item2, long ParamSort) {
return -CompareText((reinterpret_cast<TListItem *>(Item1))->Caption,
(reinterpret_cast<TListItem *>(Item2))->Caption); }
Code
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ListView1->CustomSort(CustomSortProc, 0);
}
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
TListItem *ListItem;
ListView1->ViewStyle = vsList;
ListItem = ListView1->Items->Add();
ListItem->Caption = "Apples";
ListItem = ListView1->Items->Add();
ListItem->Caption = "Oranges";
ListItem = ListView1->Items->Add();
ListItem->Caption = "Pears";
}
Uses
- Vcl.ComCtrls.TCustomListView.CustomSort ( fr | de | ja )
- System.SysUtils.CompareText ( fr | de | ja )
- System.AnsiStrings.CompareText ( fr | de | ja )