Смекни!
smekni.com

Програмирование на Visual Basic (стр. 10 из 30)

Элементы управления и процедуры обработки событий должны обеспечить следующую логику работы с формой.

На этапе загрузки формы заполняются комбинированные списки “Фирма”, “Цвет”, “Исполнение”, а также простой список “Фирм продавцов”:

Список “Фирмы” Список “Цвет” Список “Исполнение” Список “Фирмы-продавцы”
Мерседес Красный Люкс АЗР
Ауди Белый Стандарт 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() содержит следующие операторы: