Элементы управления и процедуры обработки событий должны обеспечить следующую логику работы с формой.
На этапе загрузки формы заполняются комбинированные списки “Фирма”, “Цвет”, “Исполнение”, а также простой список “Фирм продавцов”:
| Список “Фирмы” | Список “Цвет” | Список “Исполнение” | Список “Фирмы-продавцы” | 
| Мерседес | Красный | Люкс | АЗР | 
| Ауди | Белый | Стандарт | Musa Motors | 
| Фольксваген | Черный | Минимум | ЛадаИнжинеринг | 
| Шкода | Синий | Sawa | |
| Рено | Зеленый | ЛогоВАЗ | |
| Ситроен | |||
| Лада | 
Заполнение производится в процедуре Form_Load с помощью методов Additem.
В той же процедуре задаются названия меток Label4 и Label5 (соответственно значение мощности в киловаттах и в лошадиных силах). Эти названия должны изменяться соответственно значению текущего положения движка линейки прокрутки. Для преобразования мощности из киловатт в лошадиные силы и обратно надо использовать соотношение: 1Л.С.=735,499 Вт.
Для определения названия метки необходимо преобразовать численное значение свойства HScrolll. Value в текст с использованием встроенной функции Str$ (выражение Str$(HScrolll. Value)).
В таблицах приведены операторы процедур обработки событий примера и поясняющие их комментарии.
| Процедура | Комментарии | 
| Sub Form Load() | |
| LabeM.Caption = Str$(HScrolll. Value * 735.499 / 1000) | Определение названия (свойство | 
| Label5.Caption = Str$(HScrolll. Value) | Caption) метки Label4 Определение названия метки Label5 | 
| Combo 1.Add Item “Мерседес” | Combol - имя списка “Фирмы” | 
| Combo 1.Add I tern “Ауди” | Additem - метод, осуществляющий | 
| Combo 1.Add Item “Фольксваген” | добавление элементов в список с | 
| Combol.Additem “Шкода” | указанным именем | 
| Combo 1.Additem “Рено” | “Мерседес” - Значение добавляемого | 
| Combol.Additem “Ситроен” | элемента | 
| Combol.Additem “Лада” | |
| Метод Additem одинаково действует | |
| Combo2.AddItem “Красный” | и для комбинированных списков и | 
| Combo2.AddItem “Белый” | для простых | 
| Combo2.AddItem “Черный” | |
| Combo2.AddItem “Синий” | |
| Combo2.AddItem “Зеленый” | |
| СотЬоЗ.Additem “Люкс” | |
| Combo3.AddItern “Стандарт” | |
| Combo3.AddItem “Минимум” | |
| Listl.Additem “Musa Motors” | |
| Listl.Additem “ЛадаИнжинеринг” | |
| Listl.Additem “Sawa” | |
| Listl.Additem “A3P” | |
| Listl.Additem “ЛогоВАЗ” | |
| End Sub | 
В результате выполнения процедуры выводится форма (рис. 2.20). На форме активны только четыре элемента: метка с названием “Фирма”, командная кнопка “Конец”, текстовое окно “Описание модели” и комбинированный список “Фирма”.
При щелчке по списку он разворачивается и из него можно выбрать название фирмы-производителя. После выбора фирмы её название заносится в текстовое окно “Описание модели”, комбинированный список фирм становится неактивным вместе с меткой “Фирма”, а метка “Цвет”, комбинированный список для выбора цветов автомобиля и метка отображения выбранного цвета становятся активными.
Для выполнения указанных действий процедура Combo l_Click() (обработка события щелчок по списку) содержит следующие операторы:
| Процедура | Комментарии | 
| Sub Combo lClick() | Деактивизация комбинированного | 
| Combol. Enabled == False | списка путем присвоения значения | 
| Label 1. Enabled = False | False( ложь ) свойству Enabled | 
| (Активность) | |
| Добавление к значению текстовой | |
| Text 1.Text = Text 1.Text + | строки “Описание модели” | 
| Combol.Text + Chr$(13) + Chr$(10) | значения текущего (выбранного) | 
| элемента из комбинированного | |
| списка “Фирмы”. “+” - операция | |
| сцепления строк | |
| Chr$(10), Chr$(13) - функция, ре | |
| зультатом вычисления которой | |
| является символ с кодом 10 и 13 | |
| 13, 10 - комбинация символов для | |
| перевода курсора в начало следую | |
| щей строки текстового окна. | |
| Активизация комбинированного | |
| списка “Цвета” и его метки | |
| Combo2. Enabled = True | |
| Label2. Enabled = True | |
| End Sub | 
После завершения выполнения данной процедуры на форме изменятся элементы (рис. 2.21).
Рис. 2.21
Рис. 2.22
На форме активны только четыре элемента: метка с названием “Цвет”, командная кнопка “Конец”, комбинированный список для выбора цвета и текстовое окно “Описание модели”. При щелчке по списку он разворачивается и из него можно выбрать цвет для машины.
После выбора цвета его название заносится в текстовое окно “Описание модели”, комбинированный список цветов становится неактивным вместе с меткой “Цвет”, а метка “Исполнение” и комбинированный список для выбора варианта исполнения автомобиля становятся активными (рис. 2.22).
Для выполнения указанных действий процедура Combo2_Click() (обработка события “Щелчок по списку”) содержит следующие операторы:
| Цвет | Кол цвета | 
| &Н 000000 FF& | |
| &HOOFFOOOO& | |
| &НООСОСОСО& | |
| &HOOOOFFOO& | |
| Голубой | &HOOFFFFOO& | 
| Черный | &НООООООООО& | 
| Белый | &HOOFFFFFF& | 
| Желтый | &HOOOOFFFF& | 
Коды цветов заданы в шестнадцатеричной системе счисления, в которой для представления чисел используется 16 символов: цифры от 0 до 9 и буквы от А (эквивалент 10) до F (эквивалент 15). Значимость каждой п-й позиции в шестнадцате-ричном числе возрастает пропорционально степени \6”n. Например, десятичное число 419 в шестнадцатеричном представлении записывается 1АЗ:
1*16”2 + 10*16”! + 3*16^0 = 419.
В двоичной системе число 15 записывается 1111, т.е. любой символ шестнадцатеричного числа можно кодировать четырьмя битами. Память компьютера разделена на байты (1 байт равен 8 битам) и каждый байт может хранить любое из 256 (16^1) шестна-дцатеричных чисел: от 0 до FF. Такое компактное представление информации на основе шестнадцатеричной системы счисления обусловливает ее широкое использование в программировании.
Шестнадцатеричному числу в Visual Basic предшествуют символы &Н.
Как видно из рис. 2.22, на форме активны четыре элемента:
комбинированный список, соответствующий метке с названием “Исполнение”, командная кнопка “Конец” и текстовое окно “Описание модели”. При щелчке по элементу комбинированного списка можно выбрать соответствующий вариант исполнения для машины. После выбора варианта исполнения его название заносится в текстовое окно “Описание модели”, комбинированный список становится неактивным вместе с меткой, а рамка с названием “Тип кузова” и три переключателя внутри неё - активными (рис. 2.23). Для выполнения указанных действий процедура Combo3_Click() (обработка события “Щелчок по списку”) содержит следующие операторы:
В результате выполнения данной процедуры на форме произойдут изменения, показанные на (рис. 2.23). На форме активны шесть элементов: кнопка “Конец”, рамка “Тип кузова”, текстовое окно “Описание модели” и три переключателя в рамке.
Рис. 2.23
В результате форма примет вид, показанный на рис. 2.25. На форме активны: текстовое окно с названием “Описание модели”, рамка “Список фирм-дистрибъютеров”, командная кнопка с названием “Очистить список”, командная кнопка с названием “Добавить название”, текстовая строка для добавления нового имени в список продавцов и кнопка “Конец”.
При щелчке по флажку “Двухколоночный” список в зависимости от состояния флажка преобразуется в двухколоночный и обратно. Реализующая процедура обработки события Check3_Click() содержит следующие операторы:
| Процедура | Комментарии | 
| Sub Check3 Click() IfCheck3.Value = 0 Then List!.Columns = 1 Else List 1.Columns = 2 End IfEnd Sub | Свойство Value элемента Check равно 0, если флажок не взведен. В зависимости от значения этого свойства определяется свойство списка.(Listl.Columns = 1 - список одноколоночный, Listl.Columns = 2 -список двухколоночный) | 
При щелчке по кнопке “Очистить список” из списка фирм удаляются все элементы с помощью метода Clear, а затем кнопка деактивизируется. Реализующая процедура Command l_Click() содержит следующие операторы: