
- •1. Теоретическая часть.
- •2. Практическая часть.
- •2.2. Учимся аккуратности.
- •2.3. Добавляем демонстрационные объекты.
- •2.4. Организация хранения с данных.
- •2.5. Готовимся к программированию.
- •2.6. Программируем переключатели.
- •2.7. Программируем раскрывающийся список.
- •2.8. Начальная установка.
- •2.9. Программа готова.
2.7. Программируем раскрывающийся список.
Самую сложную часть программы мы уже написали. Остальные процедуры будут намного проще. Например, при выборе пункта из раскрывающегося списка достаточно заменить рисунок. Выберите раскрывающийся список на форме, перейдите в окно, Инспектора объектов и откройте вкладку Events (События).
Дважды щелкните напротив события OnChange (При изменении), которое возникает, когда в списке выбирается другой пункт. Система Delphi создаст процедуру обработки этого события.
В нее достаточно добавить всего один оператор:
Image1.Picture.LoadFromFile
(ListBox2.Items [ComboBox1.Tag+ComboBox1.ItemIndex]);
2.8. Начальная установка.
Может показаться, что программа уже готова. Давайте попробуем запустить ее. Нажмите клавишу F9.
Легко убедиться, что сразу после запуска программы наш раскрывающийся список пуст и никакой картинки под ним нет. Но стоит щелкнуть на любом переключателе, как программа начинает работать так, как мы и задумали.
Это должно подсказать нам, что мы упустили из виду начальную установку программы. Давайте щелкнем на форме вне элементов управления, откроем вкладку Events (События) Инспектора объектов и создадим процедуру для обработки события OnCreate (При создании).
procedure TForm1.FormCreate(Sender: TObject);
begin
……….
end;
Мы можем долго размышлять, что должно происходить при начальной установке программы, если нас не осенит нужная мысль: при начальной установке должно произойти то же самое, что при установке первого переключателя. А это значит, что нам достаточно вызвать процедуру обработки переключателей, передав в нее в качестве параметра объект – первый переключатель. Итак, нам нужен всего один оператор:
RadioButton1Click (RadioButton1);
2.9. Программа готова.
Вот теперь ваша программа действительно готова. Она выполняет довольно сложные действия, но сама по себе получилась простой. Давайте посмотрим на написанные нами операторы:
procedure TForm1.RadioButton1Click( Sender: TObject );
var i: Integer;
begin
ComboBox1.Clear;
ComboBox1.Tag:= (Sender as TRadioButton).Tag;
for i:=0 to 4 do
ComboBox1.Items.Add (ListBox1.Items[ComboBox1 Tag + i]);
ComboBox1.ItemIndex := 0;
Imagel.Picture.LoadFromFile(ListBox2.Items[ComboBox1.Tag]);
End;
procedure TForm1.FormCreate(Sender: TObject);
begin
RadioButton1Click(RadioButton1);
End;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Imagel.Picture.LoadFromFile
(ListBox2.Items[ComboBox1.Tag+ComboBox1.ItemInd]);
End;
Запустите программу, нажав клавишу F9. Теперь начальный вид окна сразу будет правильным.
При установке переключателя состав раскрывающегося списка и рисунка сразу же изменяются. Более того, если вы раскроете список и будете выбирать его пункты в таком виде, изображение будет меняться сразу в момент выбора нового пункта, пусть даже список его частично закрывает. Программа при этом не испытывает никаких проблем.
Самостоятельная работа.
В качестве самостоятельной работы напишите программу, демонстрирующую примеры различных элементов управления. Окно программы состоит из двух частей. Левую часть окна займет группа переключателей, с помощью которых будет выбираться демонстрация того или иного элемента управления. Всего в группе будет пять переключателей, соответствующих пяти примерам элементов управления.
Рядом с переключателями нужно поместить рамку. Пример будем показывать внутри рамки. В качестве примеров нам нужны пять элементов управления: кнопка, флажок, раскрывающийся список, полоса прокрутки и текстовое поле. При работе программы должен быть виден только один элемент управления. Он выбирается переключателем.