§ 16. Кампаненты для работы са спісамі радкоў

16.4. Кампанент ComboBox

Кампанент поле са спісам — ComboBox уяўляе сабой варыянт спіса з далучаным да яго дадатковым полем, у якім адлюстроўваецца абраны элемент спіса. У гэтае поле можа быць уведзены тэкст. На панэлі кампанентаў Standard кампанент поле са спісам намаляваны ў выглядзе , імя аб'екта  ComboBox. Кампанент ComboBox, змешчаны на форму, атрымлівае імя ComboBoxN, дзе N — нумар 1, 2, 3… (прыклад 16.9).

Асноўная ўласцівасць кампанента ComboBox, гэтак жа як і ў кампанента ListBox, — гэта ўласцівасць Items, якая належыць да тыпу TSring. Пачатковае значэнне спіса радкоў можна задаць у акне рэдагавання спісаў радкоў (кнопка каля  уласцівасці Items у акне інспектара аб'ектаў).

Пры выкананні праграмы для змены змесціва акна кампанента ComboBox прымяняюцца метады класа TString.

Кампанент ComboBox не дапускае вялікага выбару і размяшчэння спіса ў некалькі слупкоў. Уласцівасці ItemIndex і Sorted ў яго такія як у  кампанента ListBox.

У кампанента вызначаны некалькі стыляў адлюстравання (прыклад 16.10).

Асноўная падзея кампанента — OnChange.

Прыклад 16.11. У тэкставых файлах 11А.txt, 11Б.txt, 11В.txt утрымліваюцца спісы актыву класаў. Пры выбары класа павінен загрузіцца спіс актыву.

Этапы выканання задання

  1. Змясціць на форму кампаненты ComboBox і ListBox.
  2. Змяніць уласцівасць Text кампанента ComboBox на «Классы».
  3. Запоўніць спіс кампанента ComboBox з дапамогай рэдактара спісаў радкоў.
  4. Напісаць апрацоўшчык падзеі OnChange для кампанента ComboBox.
Тэкставыя файлы, якія выкарыстоўваюцца пры вырашэнні задач, можна ствараць непасрэдна ў асяроддзі C++Builder. Для гэтага трэба выканаць каманду File → New  Other. У акне, якое адкрылася, (прыклад 16.12) выбраць Other → Text File. Затым выбраць тэкставы дакумент. У акне рэдактара кода з'явіцца новая ўкладка з імем New1.txt. У гэтым акне можна набраць змесціва файла і затым захаваць яго.

Прыклад 16.9. Кампанент ComboBox на форме:

Прыклад 16.10. Стыль малюнка кампанента ComboBox вызначаецца яго ўласцівасцю Style. Некаторыя значэнні ўласцівасці Style:

  • csDropDown — устаноўлены па змоўчанні, выпадальны спіс з полем, у якім можна ўводзіць значэнне, даступнае праз уласцівасць Text;
  • csSimple — раскрыты спіс, астатняе як у csDropDown;
  • csDropDownList — выпадальны спіс без акна рэдагавання.

Прыклад 16.11. Форма на этапе праектавання:

Апрацоўшчык падзеі OnChange для кампанента ComboBox.

void __fastcall TForm1::ComboBox1Change
                TObject *Sender)

{

  switch (ComboBox1->ItemIndex) {

    case 0: {

      ListBox1->Items->

      LoadFromFile("11A.txt");

      break;

    }

    case 1: {

      ListBox1->Items->

      LoadFromFile("11Б.txt");

      break;

    }

    case 2: {

      ListBox1->Items->

      LoadFromFile("11В.txt");

      break;

    }

  }

}

Дадатак у час працы:

Прыклад 16.12. Стварэнне тэкставага файла: