Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебники 60105.doc
Скачиваний:
10
Добавлен:
01.05.2022
Размер:
827.9 Кб
Скачать
  1. Пример работы со списками строк

Свойство Columns определяет число столбцов, в которых будет отображаться список, если он не помещается целиком в окне компонента ListBox.

Свойство Sorted позволяет упорядочить список по алфавиту.

      1. Компонент ComboBox

Комбинированный список ComboBox представляет собой комбинацию списка ListBox и редактора Edit , и поэтому большинство его свойств и методов заимствованы у этих компонентов.

Поведение ComboBox в основном определяется значением его свойства Style:

  • csDropDown - обычное поле со списком, которое допускает непосредственное редактирование и по запросу отображает список;

  • csDropDownList - поле со списком, которое не допускает редактирования;

  • csSimple – поле с постоянно раскрытым списком; для того чтобы список был виден, необходимо увеличить высоту (свойство Height) компонента ComboBox;

  • csOwnerDrawFixed – список с элементами одинаковой высоты, которую задает свойство ItemHeight;

  • csOwnerDrawVariable – список с элементами, которые могут иметь разную высоту.

Свойство DropDownCount типа integer определяет количество строк, которые одновременно отображаются в раскрывающемся списке. Если значение свойства меньше числа строк списка, то на раскрывающемся списке автоматически появляется вертикальная полоса прокрутки.

Свойство DroppedDown типа boolean позволяет определить, раскрыт ли список. Если свойство имеет значение true, то список отображается в раскрытом виде, в противном случае список свернут. Свойство DroppedDown действует только, если Style имеет значение, не равное csSimple.

При работе с комбинированным списком генерируются следующие события:

  • OnDropDown – открытие списка;

  • OnCloseUp – закрытие списка;

  • OnSelect – выбор элемента;

  • OnChange – изменение текста в поле редактирования.

Например, пусть надо при выборе новой строки в списке ComboBox1 записать эту строку в Edit1:

// - - - - Object Pascal - - - -

procedure TForm1.ComboBox1Change(Sender: TObject);

begin

Edit1.Text := ComboBox1.Text;

end;

// - - - - - - - C++ - - - - - - -

void __fastcall TForm1::ComboBox1Click(TObject *Sender)

{

Edit1->Text = ComboBox1->Text;

}

    1. Переключатели

      1. Компонент CheckBox

Переключатели (флажки) позволяют выбрать какое-либо значение из определенного множества. Они могут находиться во включенном (установленном) или выключенном (сброшенном) состояниях. Анализ состояния переключателя позволяет программисту выполнять соответствующие операции.

Компонент CheckBox представляет собой переключатель с независимой фиксацией. Данный переключатель действует независимо от других подобных переключателей.

Текст, расположенный рядом с флажком, задается свойством Caption. По умолчанию текст располагается справа от флажка, но можно расположить текст слева, изменив значение свойства Alignment.

Для определения состояния переключателя используется свойство Checked типа boolean. По умолчанию оно имеет значение false, и переключатель выключен.

Пользователь может переключать флажок щелчком мыши. Если флажок выключен, то после щелчка он становится включенным, и наоборот. При этом соответственно изменяется значение свойства Checked. Кроме того, флажок можно переключить и с помощью клавиши <Пробел>.

Флажком можно управлять программно, устанавливая свойству Checked требуемые значения.

Сделать флажок недоступным для изменения (заблокировать) можно, присвоив свойству Enabled значение false.

При изменении состояния переключателя возникает событие OnClick, независимо от того, в какое состояние он переходит. В обработчике события OnClick обычно располагаются операторы, выполняющие проверку состояния переключателя и осуществляющие требуемые действия.

Например, изменим текст при изменении состояния переключателя:

// - - - - Object Pascal - - - -

procedure TForm1.CheckBox1Click(Sender: TObject);

begin

if CheckBox1.Checked

then CheckBox1.Caption := 'Флажок №1 установлен'

else CheckBox1.Caption := 'Флажок №1 снят';

end;

// - - - - - - - C++ - - - - - - -

void __fastcall TForm1::CheckBox1Click(TObject *Sender)

{

if (CheckBox1->Checked)

CheckBox1->Caption = "Флажок №1 установлен";

else

CheckBox1->Caption = "Флажок №1 снят";

}

Поместим на форму еще 2 флажка и напишем для них аналогичный код (рис. 12).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]