Здавалка
Главная | Обратная связь

Выпадающие списки (TComboBox).



Похожи на списки выбора. Создадим приложение похожее на предыдущее, только вместо ListBox будет ComboBox.Теперь создадим обработчик события OnChenge для выпадающего списка ComboBox1. По нему мы напишем следующий текст:

procedure TForm1.ComboBox1Change(Sender: TObject);

begin Edit1.Text:=ComboBox1.Items.Strings[ComboBox1.ItemIndex]; End;

Теперь напишем код для кнопки «Добавить»:

procedure TForm1.AddButtonClick(Sender: TObject);

begin ComboBox1.Items.Add('Новая строка') end;

Теперь напишем код для кнопки «Удалить»:

procedure TForm1.DelButtonClick(Sender: TObject);

begin ComboBox1.Items.Delete(ComboBox1.ItemIndex); end;

Существует несколько типов выпадающих списков:CsDropDown – основной стиль. При нём ты можешь не только выбирать значения из списка, но и вводить в строку свои. CsDropDownList – при этом стиле можно только выбирать из списка. CsOwnerDrawFixed – при этом стиле ты можешь рисовать элементы сам. Высота элементов фиксированная.

CsOwnerDrawVariable - при этом стиле ты можешь рисовать элементы сам. Отличается от предыдущего тем, что высота элементов не фиксированная. CsSimple – только строка ввода.


Полосы прокрутки (TScrollBar).

Полосы прокрутки очень часто используются для прокручивания какого-то действия. На форме один компонент TLabel и одна полоса прокрутки TScrolBar . У компонента Label1 измени свойство Caption на «0». Теперь создай обработчик события OnChange для полосы прокрутки и напиши там следующее:

procedure TForm1.ScrollBar1Change(Sender: TObject);

begin Label1.Caption:=IntToStr(ScrollBar1.Position); end;

Текущее значение ползунка можно получить с помощью свойства Position объекта ScrollBar1. Это свойство имеет тип целое число, а свойство Caption компонента Label1 – это строка. Поэтому нам надо превратить целое число в строку. Для этого есть функция IntToStr. Ей нужно передать число, а она нам вернёт строку. Поэтому если вызвать эту функцию с параметром текущей позиции ползунка (IntToStr(ScrollBar1.Position)), результат её работы можно присвоить свойству Caption компонента Label1. Попробуй запустить программу и подвигать ползунок. Значение позиции будет отображаться в компоненте Label1. Чтобы сделать её вертикальной, нужно свойство Kind поменять на sbVertical. И ещё, значение ползунка изменяется от 0 до 100. Чтобы изменить эти значения есть свойства Min (по умолчанию равно нулю) и Max (по умолчанию равно 100).

Группировка объектов (GroupBox).

Компонент GropBox очень удобно использовать для группировки каких-то компонентов. Панель TGroupBox в основном используют для группировки компонентов TRadioButton.

Группа компонентов RadioButton (TRadioGroup).

Если установить этот компонент на форму, то на первый взгляд он выглядит, как простой TGroupBox. Создай новый проект и прось на него один компонент TRadioBox. Щёлкни по свойству Items и перед тобой появится уже знакомый редактор строк. Введи туда три строчки: Всё Выделенные Текущую Нажми «ОК» и твой ты увидишь GropBox содержащий в себе три компонента TRadioBox. Брось на форму ещё одну кнопку, одну строку ввода и один TLabel. Теперь создадим обработчик события OnClick для компонента RadioGroup1. В нём напишем следующее: Label1.Caption:=IntToStr(RadioGroup1.ItemIndex);

Свойство ItemIndex компонента RadioGroup1 показывает, какой компонент сейчас выделен. Компоненты пронумерованы в таком же порядке, как записаны их имена в списке. Это свойство имеет тип целое число, поэтому его приходится превращать в строку с помощью IntToStr. По нажатию кнопки напишем следующий текст:

procedure TForm1.Button1Click(Sender: TObject);

begin Edit1.Text:=IntToStr(RadioGroup1.ItemIndex); end;

По нажатию кнопки я делаю то же самое, только номер выделенного компонента помещаю в Edit1. А теперь посмотрим на преимущества этого компонента. Представим, что у нас просто стоит три компонента TRadioButton. Чтобы узнать, какой из них сейчас выделен, нужно проверить свойство Checked всех этих компонентов. А при использовании группы TRadioGroup ничего этого не надо. Нужно только проверить свойство ItemIndex, компонента TRadioGroup и никаких проблем.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.