Liste

Liste de tip TComboBox

 

 

 

Exista situatii in care, chiar daca utilizatorul poate selecta o singura optiune, numarul total al optiunilor este mare, motiv pentru care nu se folosesc butoane radio, ci liste derulante, care sunt obiecte de tip TComboBox.

 


Astfel de liste, numite si liste derulante, au avantajul ca ocupa foarte putin spatiu in formular, pentru ca afiseaza numai selectia curenta.

 


 

 

Atunci cand utilizatorul doreste, se pot afisa toate optiunile, asa cum se vede in figura alaturata-se executa click pe sageata, apoi click pe optiunea dorita.

 

 

 

 

Iata cum se selecteaza optiunea de tip TComboBox.

 

 

Optiunile propriu-zise se incarca cu ajutorul editorului de texte asociat proprietatii Items(de tip TStrings, tip care va fi studiat).

Pentru lansarea editorului se executa click asupra celor trei puncte.

 

Optiunile se scriu in mod obisnuit, cate una pe rand Pentru a trece la un rand nou, se tasteaza Enter. Editorul este inzestrat cu un buton OK care trebuie apasat dupa introducerea optiunilor.


 


Se obtine:

 

 

 

 

Dupa scrierea optiunilor, lista nu afiseaza nimic, dar un click asupra sagetii are ca efect afisarea lor. De acum este permisa selectia unei optiuni si aceasta este ulterior afisata.

 

          proprietatea Text, de tip AnsiString are rolul de a retine optiunea selectata.Dar, prin utilizarea inspectorului de obiecte, se poate atribui de la inceput o optiune. Aceasta va fi afisata de la inceput de lista.

 

Exemplu:

Formularul afiseaza o lista derulanta si un buton.La apasarea butonului se afiseaza selectia efectuata de catre utilizator!

 


 


Optiunile se scriu, asa cum am aratat, cu ajutorul editorului apelat din cadrul proprietatii Items. De asemenea, optiunea implicita s-a obtinut scriind-o direct in proprietatea Text a listei.La apasarea butonului raspunde functia:

 

void _fastcall TForm1::Button1Click(TObject *Sender)

{

ShowMessage(ComboBox1->Text);

};

 

Aceeasi secventa se scrie daca se renunta la Button1 activarea facandu-se direct la selectarea unei optiuni (evenimentul este OnClick):

void __fastcall TForm1::ComboBox1Click(TObject *Sender)

{

ShowMessage( ComboBox1->Text);

}

 

Urmatorul exemplu permite ca prin alegerea unei optiuni din lista sa se schimbe culoarea formularului:

 

 

void __fastcall TForm1::ComboBox1Click(TObject *Sender)

{AnsiString s=ComboBox1->Text;

if (s.AnsiCompare("rosu")==0)

Form1->Color=clRed;

else

if (s.AnsiCompare("galben")==0)

Form1->Color=clYellow;

else

if (s.AnsiCompare("albastru")==0)

Form1->Color=clBlue;

else

Form1->Color=clWhite;

}