yarendil ha scritto:
ho una tstringlist che viene popolata con n righe, avrei la necessita' di poterne selezionare alcune per poterle eliminare, ma non ne vengo a capo, nel senso che tra le proprietá ho visto che si possono selezionare piu righe ma solamente consecutive [...]
avete magari qualche dritta da darmi?
Purtroppo, questa è una delle limitazioni del controllo
TStringGrid: la selezione operata sulla griglia ti restituisce un
TGridRect, ovvero un rettangolo che indica i limiti/dimensioni dell'area contigua di righe e colonne selezionata sulla griglia.
Oltre alla selezione di celle non adiacenti, manca ad esempio la possibilità di escludere una riga cliccandoci nuovamente sopra nel caso sia stata precedentemente selezionata.
A meno di non ricorrere a un altro controllo di terze parti, l'unica strada è quella di
gestire manualmente la selezione delle righe creando un discendente del controllo
TStringGrid e ridefinendo i metodi chiave che gestiscono gli eventi di clic con il mouse per andare a salvare le informazioni relative alla selezione, disegnando poi le celle di conseguenza intercettando gli eventi legati al "custom drawing" del controllo.
Non è una operazione impossibile, ma richiede senz'altro un po' di lavoro per piegare la griglia alle proprie esigenze.
Ciao!