Выпадающие списки (TComboBox). ⇐ ПредыдущаяСтр 6 из 6
Похожи на списки выбора. Создадим приложение похожее на предыдущее, только вместо 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 Все права принадлежат авторам размещенных материалов.
|