13 июня 2010

Компонент ComboBox

Компонент ComboBox (комбинированный список) расположен на вкладке Standard Палитры Компонентов. Этот компонент по своим свойствам очень похож на компонент ListBox.
Методы и свойства он имеет почти те же самые. Самое важное из них - это, пожалуй, свойство Items. Именно в нем и хранятся все строки ComboBox'а. В отличных от ListBox'а компонент имеет свойство Text. Оно позволяет заглавный текст в ComboBox'е (т.е. то, что пользователь непосредственно видит). Вот так, например, можно добавить напечатанный пользователем текст в ComboBox, добавим на форму ComboBox и Button в обработчике OnClick напишем:
void __fastcall TForm1::Button1Click(TObject *Sender) {
    ComboBox1->Items->Add(ComboBox1->Text);
}
Из полезных свойств отметим еще свойство style. Возможные значения для него:
csDropDown - ComboBox с возможностью редактирования
csDropDownList - ComboBox без возможности редактирования, т. е. пользователь может выбирать только из существующих элементов
csSimple и другие.
При значении style равным csSimple ComboBox будет выглядеть как компонент Edit и будет так же как и другие стили, иметь возможность авто дополнение введенного текста. Например наш ComboBox будет выглядеть так:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    ComboBox1->Text = "Введите марку машины...";
    ComboBox1->Items->Add("Ford");
    ComboBox1->Items->Add("FIAT");
    ComboBox1->Items->Add("Dodge");
    ComboBox1->Items->Add("Mazda");
}
После ввода в ComboBox буквы 'F', текст автоматически подставит 'ord', если же продолжить ввод и дописать букву 'I', к тексту будет добавляться 'AT', вот таким способом можно облегчать ввод данных пользователям ваших программ.

12 комментариев:

  1. у меня не получилось((((

    ОтветитьУдалить
    Ответы
    1. Все же понятно. Что именно не получилось? ..может поможем

      Удалить
  2. и че это за урок?! где синтаксис?

    ОтветитьУдалить
  3. Дебагер ругает - ComboBox1->Add("Ford");
    Однако с радостью хавает это ComboBox2->Items->Add("Ford");

    ОтветитьУдалить
    Ответы
    1. Форд в итем - понятно... А вот форд в CBox оО Эт как? )))))
      Всё он прально ругается ;) )))

      Удалить
  4. все нормально, это вы все тупые уёбки.
    всё прекрасно работает, автор молодец, тоько полезно было бы здесь ещё про ComboBox1->Items->Strings[Index] написать

    ОтветитьУдалить
    Ответы
    1. +1 =)
      Урок помог!

      Удалить
    2. Именно то что искал ComboBox1->Items->Strings[Index], спасибо!

      Удалить
  5. как очистить ComboBox

    ОтветитьУдалить

Темы