Ho provato anche questo metodo:
per modificare il ShellCtrls.pas:
TCustomShellListView = class(TCustomListView, IShellCommandVerb)
> ...
> public
> ...
> property FolderList: TList read FFolders; << ADD THIS
> ...
> end;
ho dovuto ovviamente sganciare il componente Shellcontrols modificarlo e poi ricaricarlo sul RAD, ma nonostante ciò continua a non funzionare, probabilmente quel codice è strutturato per il componente TlistView che possiede l'evento ‘OnCompare’ senza il quale ShellListView non riesce a gestire la routine
ShellListView1.FolderList.Sort(ShellCompare);
Inoltre il pacchetto ShellControls utilizzato che si reperisce facilmente su GitHub contiene una DEMO molto esaustiva sul funzionamento della VCL che infatti non considera assolutamente l'evento ‘OnColumnClick’ ma una specie di ‘SORT’ che richiama da una ActionList
procedure TMainForm.actnSortedUpdate(Sender: TObject);
begin
actnSorted.Checked := ShellListView.Sorted;
end;
che allinea i file per tipo e basta.
In conclusione credo (e spero di essere smentito…) che non ci sia modo di ottenere l'ordinamento delle colonne su TshellListView.