Textl.Text = HScrolll.Value End Sub
Private Sub HScrolll_Scroll()
Text2.Text = HScrolll.Value End Sub Событие Change отражается в верхнем окне, событие Scroll - в нижнем окне. После запуска программы щелчок мыши по полю вызывает перемещение движка и изменение значения в верхнем окне на 10 единиц (Large Change), щелчок мыши по стрелкам вызывает перемещение движка и изменение значения в верхнем окне на 5 единиц (Small Change). Эти изменения не отражаются в нижнем окне (рис. 2.17). Перемещение движка мышью вызывает изменение значения, которые отражаются в обоих окнах (рис. 2.18). 2.12. ПРИМЕР СОЗДАНИЯ ФОРМЫ Создадим форму со следующими элементами управления (рис. 2.19):
. Комбинированный список типа 1, содержащий названия фирм-производителей автомобилей. [pic] Рис.2.17 Рис. 2.18
. Метка с названием “Фирма”, поясняющая назначение комбинированного списка.
. Комбинированный список типа 2, содержащий названия цветов автомобилей.
. Метка с названием “Цвет”, поясняющая назначение комбинированного списка.
. Метка без названия для отображения цвета, который выбирается в комбинированном списке.
. Комбинированный список типа 0, содержащий названия исполнения автомобилей.
. Рамка с названием “Тип кузова”, объединяющая три переключателя для выбора типа кузова: “Кабриолет”, “Седан”, “Универсал”.
. Рамка с названием “Мощность”, содержащая горизонтальную линейку прокрутки для изменения мощности двигателя, две метки для отображения мощности двигателя в киловаттах и лошадиных силах, две поясняющие метки с названиями “кВт” и “Л.С.” (для горизонтальной линейки прокрутки на этапе проектирования формы задаются значения свойств: минимальное значение - 30 (min = 30), максимальное значение - 500 (max
== 500), текущее значение - 75 ( value = 75), малый шаг - 1
(SmallChange = 1), большой шаг - 10 (LargeChage = 10), недоступна
(enabled = false)) и командную кнопку “Зафиксировать”.
. Рамка с названием “Список фирм - дистрибьюторов”, объединяющая список, флажок, метку с названием “Двухколоночный”, поясняющую назначение флажка, и четыре командных кнопки (“Очистить список”, “Удалить название “, “Добавить название”, “Зафиксировать”). [pic]
. Флажки с названиями “Дизель” и “Металлик”.
. Текстовое окно для описания модели с горизонтальной и вертикальной линейками прокрутки.
. Метка с названием “Описание модели”.
. Командная кнопка “Конец”. При проектировании формы значения свойств, определяющих основные цвета, цвета фона, вид и размер шрифтов, размеры и расположение управляющих элементов, задаются разработчиком или определяются по умолчанию. Элементы управления и процедуры обработки событий должны обеспечить следующую логику работы с формой. [pic] На этапе загрузки формы заполняются комбинированные списки “Фирма”, “Цвет”, “Исполнение”, а также простой список “Фирм продавцов”: |Список |Список |Список |Список | |“Фирмы” |“Цвет” |“Исполнение|“Фирмы-продавц| | | |” |ы” | |Мерседес |Красный|Люкс |АЗР | |Ауди |Белый |Стандарт |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 = |Caption) метки Label4 | |Str$(HScrolll. Value) |Определение названия | | |метки 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). [pic] Рис. 2.21 [pic] Рис. 2.22 На форме активны только четыре элемента: метка с названием “Цвет”, командная кнопка “Конец”, комбинированный список для выбора цвета и текстовое окно “Описание модели”. При щелчке по списку он разворачивается и из него можно выбрать цвет для машины. После выбора цвета его название заносится в текстовое окно “Описание модели”, комбинированный список цветов становится неактивным вместе с меткой “Цвет”, а метка “Исполнение” и комбинированный список для выбора варианта исполнения автомобиля становятся активными (рис. 2.22). Для выполнения указанных действий процедура Combo2_Click() (обработка события “Щелчок по списку”) содержит следующие операторы: [pic] Коды цветов приведены в следующей таблице: |Цвет |Кол цвета | | |&Н 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() (обработка события “Щелчок по списку”) содержит следующие операторы: [pic] В результате выполнения данной процедуры на форме произойдут изменения, показанные на (рис. 2.23). На форме активны шесть элементов: кнопка “Конец”, рамка “Тип кузова”, текстовое окно “Описание модели” и три переключателя в рамке. [pic] Рис. 2.23 [pic] В результате форма примет вид, показанный на рис. 2.25. На форме активны: текстовое окно с названием “Описание модели”, рамка “Список фирм- дистрибъютеров”, командная кнопка с названием “Очистить список”, командная кнопка с названием “Добавить название”, текстовая строка для добавления нового имени в список продавцов и кнопка “Конец”. При щелчке по флажку “Двухколоночный” список в зависимости от состояния флажка преобразуется в двухколоночный и обратно. Реализующая процедура обработки события Check3_Click() содержит следующие операторы: |Процедура |Комментарии | |Sub Check3 Click() |Свойство Value элемента | |IfCheck3.Value = 0 |Check равно 0, если | |Then List!.Columns = |флажок не взведен. В | |1 Else List 1.Columns|зависимости от значения | |= 2 End If |этого свойства | |End Sub |определяется свойство | | |списка.(Listl.Columns = | | |1 - список | | |одноколоночный, | | |Listl.Columns = 2 | | |-список двухколоночный) |
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14