Butoane de tip TSpeedButton

 

Aceste butoane ofera cu mult mai multe posibilitati de programare decat celelalte doua tipuri de butoane.Leselectam asa cum rezulta din figura urmatoare:

Iata simbolul ce se afiseaza pentru a obtine unastfel de buton.

 

Proprietati:

Si butonul de tip TSpeedButton poate retine atat un text (proprietatea Caption) cat si o mica imagine (proprietatea Glyph). Pentru a le obtine se procedeaza exact ca la tipul de butoane TBitBtn.

 

GroupIndex este o proprietate care permite gruparea mai multor butoane intr-un mod foarte interesant. La “apasareaunui buton din grup, acesta ramane apasat si toate celelalte butoane din grup raman ridicate. Daca se apasa alt buton acesta ramane apasat, iar cel apasat inainte se ridica automat. Iata cum arata un astfel de grup- unde am notat butoanele A B C si butonul A este “apasat”.

 

 

 

 

 

 


Pentru a grupa mai multe astfel de butoane, pentru fiecare dintre ele se scrie pentru proprietatea GroupIndex un numar unic, diferit de 0. In exemplu, la toate butoanele am trecut numarul 1.

 

 

Down  -  este proprietate de tip bool. Daca retine true, inseamna ca butonul este apasat. Cu ajutorul acestei proprietati se poate testa care buton din grup este apasat.

 

 

q       Sa se scrie un program al carui formular afiseaza 3 butoane grupate de tip TSpeedButton. Un al patrulea buton, de tip TButton, are rolul de a afisa la o apasare o cutie de tip dialog prin care utilizatorul este informat care buton din grup este apasat.

 

Pasul 1. Se afiseaza pe formular cele trei butoane:

 

Pasul 2.  Proprietatea Caption a fiecaruia va retine cate o litera, prin care butonul este identificat de catre utilizator:

 

Pasul 3.  Se afiseaza pe formular cel de-al patrulea buton. La “apasarea” lui (evenimentul OnClick) raspunde metoda (functia):

 

void_fastcall TFkorm1::Button1Click(TObject *Sender)

{ if(SpeedButton1->Down==true)

   ShowMessage(SpeedButton1->Caption);

  else

    if (SpeedButton2->Down==true)

             ShowMessage(SpeedButton2->Caption);

    else

       ShowMessage(SpeedButton3->Caption);

 

       }

 

AllowAllUp  -  pentru fiecare buton, inspectorul de obiecte afiseaza o proprietate comuna numita AllowAllUp. Aceasta pote retine true sau false. Daca retine true, atunci cand se executa un click pe un buton deja apasat, acesta se ridica, iar daca retine false, un buton apasat nu “se ridica” decat daca se apasa alt buton – apasarea nu are nici un efect.

 

Urmatorul element din paleta de componente are ca rezultat inserarea unei etichete pentru texte:

 

                            (sectiunea standard)

 

Exercitii:

 

1.Formulati o problema cu trei raspunsuri la alegere. Fixati un raspuns corect. Afisati pentru fiecare raspuns un mesaj de avertizare (Corect!, Eroare! Etc)

2.Formulati un test cu 4 intrebari fiecare raspuns corect avand punctajul 2 puncte si 2 puncte din oficiu. Afisati punctajul final utilizand un buton TbitBtn (Indicatie : utilizati o variabila locala de tip int pe care  o veti initializa cu valoarea punctajului din oficiu si o mariti cu 2 pt fiecare buton corespunzator raspunsului correct .Afisati raspunsul corect utilizand o functie showMessage(text)