Элементы управления и процедуры обработки событий должны обеспечить следующую логику работы с формой.
На этапе загрузки формы заполняются комбинированные списки “Фирма”, “Цвет”, “Исполнение”, а также простой список “Фирм продавцов”:
Список “Фирмы” | Список “Цвет” | Список “Исполнение” | Список “Фирмы-продавцы” |
Мерседес | Красный | Люкс | АЗР |
Ауди | Белый | Стандарт | 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() содержит следующие операторы: