Ho provato anche questo metodo:
per modificare il ShellCtrls.pas:
codice:
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
codice:
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
codice:
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.