Компонент Delphi ComboBox є комбінацією списку рядків ListBox з рядком введення Edit. При цьому "список рядків" компонента Delphi ComboBox спочатку приховано, і розкривається при натисканні мишкою по трикутнички розкриття, який знаходиться праворуч в рядку введення:
Таким чином, за допомогою Delphi ComboBox місце на Формі економиться для разміщення інших елементів інтерфейсу програми. А при необхідності розкриття списку рядків можна взагалі заборонити.
Багато властивостей і можливості компонента Delphi ComboBox по роботі з рядками (об'єктами Items) такі ж як і у компонента Delphi ListBox. тому повторно описувати їх не буду. Опишу відмінності і додаткові можливості.
Отже, за можливість розкриття компонента ComboBox відповідає стиль - властивість Style:
Стиль компонента ComboBox1 дорівнює
ComboBox1.Style = csDropDown
(Список може бути розкритий, можна писати в рядку введення)
Стиль компонента ComboBox2 дорівнює
ComboBox1.Style = csSimple
(Список не може бути розкритий, можна писати в рядку введення)
При стилі csDropDownList компонент може бути розкритий, але властивість Text може приймати значення тільки однієї з рядків, збережених в компоненті, тобто користувач позбавлений можливості писати в рядку введення.
Кількість рядків, видимих при розкритті списку, так само DropDownCount. Якщо реальна кількість збережених рядків більше цієї кількості, то автоматично з'являється смуга прокрутки. Програміст може змусити список розкритися в потрібний момент. Для цього потрібно властивості DroppedDown привласнити значення True. Для цієї ж мети користувач може використовувати клавіатурну комбінацію ALT + ВНИЗ.
Максимально допустима кількість символів в текстовому рядку задається параметром MaxLength. причому значення 0 означає відсутність обмежень. Властивість CharCase управляє перетворенням тексту, що вводиться до верхнього (значення CharCase = ecUpperCase) або нижньому (значення CharCase = ecLowerCase) регістру. Значення ecNormal означає, що текст вводиться без перетворення.
Основними подіями компонента Delphi ComboBox є:
Це значення типу String. Його можна записати в змінну того ж типу
var S: String;
S: = ComboBox.Items [ComboBox.ItemIndex];
Потім його можна перетворити в Integer:
var N: Integer;
procedure TForm1.ComboBox1CloseUp (Sender: TObject);
begin
If ComboBox1.ItemIndex = 0 Then
begin
Memo1.Visible: = True;
end
else
begin
Memo1.Visible: = False;
end;
end;
procedure TForm1.ComboBox1Change (Sender: TObject);
begin
ComboBox2.ItemIndex: = ComboBox1.ItemIndex;
end;
і поставити кнопку і написати
то кольором буде виділена 2 рядок - там значення збігається з 4 рядком.