Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: bonmario - Giugno 16, 2023, 12:22:57 pm

Titolo: StringGrid: non selezionare nessuna casella/riga
Inserito da: bonmario - Giugno 16, 2023, 12:22:57 pm
Ciao a tutti,
scusate la domanda scema, ma è da mezz'ora che ci giro intorno, e non ne ricavo niente ...
Ho una StringGrid, e vorrei che quando il form viene caricato, non ci sia nessuna casella/riga selezionata.
All'inizio mi selezionava in automatico la prima riga sotto a quella dei titoli, poi ho aggiunto questo

Codice: [Seleziona]
  TabellaEsiti.Selection:=TGridRect(Rect(0, 0, 0, 0));
  TabellaEsiti.Row:=-1;

ed ora i seleziona la prima casella della prima riga

E' possibile non fargli selezionare niente?

Grazie, Mario
Titolo: Re:StringGrid: non selezionare nessuna casella/riga
Inserito da: nomorelogic - Giugno 16, 2023, 04:14:01 pm
ciao
ho già provato forzando il focus ad un controllo che non sia la griglia?
Titolo: Re:StringGrid: non selezionare nessuna casella/riga
Inserito da: bonmario - Giugno 16, 2023, 07:42:00 pm
Non col focus, perché se lo metto nella "OnCreate", mi da errore, ma tramite l'ActiveControl, ma non funziona.
Credo comunque che sia uno dei parametri di configurazione delle StringGrid: negli esempi che ci sono in C:\Lazarus\examples\gridexamples la maggior parte ha lo stesso funzionamento, ma almeno uno funziona come vorrei.
Devo solo capire qual è la differenza rispetto agli altri.

Ciao, Mario
Titolo: Re:StringGrid: non selezionare nessuna casella/riga
Inserito da: DragoRosso - Giugno 16, 2023, 09:24:54 pm
Basta che imposti la proprietà TABORDER a designtime della stringgrid ad un valore diverso da zero.

Ciao
Titolo: Re:StringGrid: non selezionare nessuna casella/riga
Inserito da: bonmario - Giugno 17, 2023, 06:59:53 am
E' un progetto che ho al lavoro.
Lunedì ci provo, grazie !!

Ciao, Mario
Titolo: Re:StringGrid: non selezionare nessuna casella/riga
Inserito da: tito_livio - Giugno 17, 2023, 12:59:45 pm
Non col focus, perché se lo metto nella "OnCreate", mi da errore, ma tramite l'ActiveControl, ma non funziona.

Ciao,
se lo metti nella "OnActivate" della form funziona. Poi se vuoi che il focus venga spostato una volta sola, dall'avvio del programma, puoi usare una variabile globale da inizializzare in "OnCreate".