Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: Narciso - Settembre 06, 2016, 10:11:47 pm

Titolo: quale ttoolbar button grouped is down
Inserito da: Narciso - Settembre 06, 2016, 10:11:47 pm
Come faccio a sapere quale dei ttoolbar.button grouped... e' down?

Mi spiego meglio: ho 5 bottoni in una toolbar, sono raggruppati, in modo talòe che solo 1 risulta down.... come faccio a sapere quale dei 5 in quel momento e' down?

Non credo che li debba analizzare 1 per 1 ...spero
Titolo: Re:quale ttoolbar button grouped is down
Inserito da: andregae - Settembre 07, 2016, 11:37:08 am
Ciao
non so se posso esserti utile... sono da poco approdato su lazarus e devo ancora prendere confidenza con il programma...
comunque qualcosina da autodidatta in delphi ho imparato.
Io per verificare se un button è down uso una procedura ciclica come questa

for i := 1 to 10 Do Begin
     if  tspeedbutton(form1.FindComponent('n' + inttostr(i))).down = true then begin
         // il codice che vuoi far eseguire se il pulsante è down
         // altro codice
     end if;
end;

ovviamente per il ciclo io ho usato 10 ma se hai 5 oggetti .... bla bla....
'n1' 'n2' 'n3' è il nome dell'oggetto (button)...
credo che tspeedbutton sia simile a button
ps... ho visto che per funzionare, i tspeedbutton devono appartenere ad una groupindex ed essere numerati progressivamente

spero ti possa servire
saluti Andrea
Titolo: Re:quale ttoolbar button grouped is down
Inserito da: AndreaM - Settembre 14, 2016, 12:59:23 pm
Ciao,
Oppure più semplicemente
Codice: [Seleziona]
 with ToolBar1 do
    begin
    for i:=0 to ButtonCount-1 do
     if Buttons[i].Down then ShowMessage(IntToStr(i));
    end;   
Saluti