Conseguido, por si a alguien le interesa era:
una variable global llamada: ColumnToSort
y esto:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
ColumnToSort=0;
}
//---------------------------------------------------------------------------void __fastcall TForm1::ListView1ColumnClick(TObject *Sender,
TListColumn *Column)
{
ColumnToSort = Column->Index;
((TCustomListView *)Sender)->AlphaSort();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ListView1Compare(TObject *Sender, TListItem *Item1,
TListItem *Item2, int Data, int &Compare)
{
if (ColumnToSort == 0)
Compare = CompareText(Item1->Caption,Item2->Caption);
else
{
int ix = ColumnToSort;
Compare = CompareText(Item1->SubItems->Strings[ix-1], Item2->SubItems->Strings[ix-1]);
}
}
//---------------------------------------------------------------------------