ПРИМЕР СОЗДАНИЯ ФОРМЫ

282295
знаков
41
таблица
133
изображения

2.12. ПРИМЕР СОЗДАНИЯ ФОРМЫ

Создадим форму со следующими элементами управления (рис. 2.19):

Комбинированный список типа 1, содержащий названия фирм-производителей автомобилей.

Рис.2.17 Рис. 2.18

Метка с названием “Фирма”, поясняющая назначение комбинированного списка. Комбинированный список типа 2, содержащий названия цветов автомобилей. Метка с названием “Цвет”, поясняющая назначение комбинированного списка. Метка без названия для отображения цвета, который выбирается в комбинированном списке. Комбинированный список типа 0, содержащий названия исполнения автомобилей. Рамка с названием “Тип кузова”, объединяющая три переключателя для выбора типа кузова: “Кабриолет”, “Седан”, “Универсал”. Рамка с названием “Мощность”, содержащая горизонтальную линейку прокрутки для изменения мощности двигателя, две метки для отображения мощности двигателя в киловаттах и лошадиных силах, две поясняющие метки с названиями “кВт” и “Л.С.” (для горизонтальной линейки прокрутки на этапе проектирования формы задаются значения свойств: минимальное значение - 30 (min = 30), максимальное значение - 500 (max == 500), текущее значение - 75 ( value = 75), малый шаг - 1 (SmallChange = 1), большой шаг - 10 (LargeChage = 10), недоступна (enabled = false)) и командную кнопку “Зафиксировать”. Рамка с названием “Список фирм - дистрибьюторов”, объединяющая список, флажок, метку с названием “Двухколоночный”, поясняющую назначение флажка, и четыре командных кнопки (“Очистить список”, “Удалить название “, “Добавить название”, “Зафиксировать”). Флажки с названиями “Дизель” и “Металлик”. Текстовое окно для описания модели с горизонтальной и вертикальной линейками прокрутки. Метка с названием “Описание модели”. Командная кнопка “Конец”.

При проектировании формы значения свойств, определяющих основные цвета, цвета фона, вид и размер шрифтов, размеры и расположение управляющих элементов, задаются разработчиком или определяются по умолчанию.

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

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

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

End Sub

Свойство Value элемента Check равно 0, если флажок не взведен. В зависимости от значения этого свойства определяется свойство списка.(Listl.Columns = 1 - список одноколоночный, Listl.Columns = 2 -список двухколоночный)

При щелчке по кнопке “Очистить список” из списка фирм удаляются все элементы с помощью метода Clear, а затем кнопка деактивизируется. Реализующая процедура Command l_Click() содержит следующие операторы:

Процедура Комментарии
Sub Command I ClickQ List [.Clear Command L Enabled = False Command3.Enabled = False End Sub Очистка списка Деактивация кнопки очистки списка Деактивация кнопки удаления элемента списка

Рис. 2.25

При щелчке по кнопке “Добавить элемент” содержимое текстовой строки добавляется в список с помощью метода Additem. Список обладает свойством автосортировки (добавление происходит в соответствии с упорядоченностью по алфавиту). Происходит очищение текстовой строки и активизация кнопок “Удалить элемент” и “Очистить список”. Это обеспечивается следующими операторами:

Процедура Комментарии
Sub CoiTimand4Click() Listl.AddItem Text2.Text Text2.Text = “” Command [.Enabled = True Command3. Enabled = True End Sub Добавление нового имени в список Очистка текстовой строки. Активизация кнопок “Удалить элемент” и “Очистить список”

Для фиксации названия фирмы или удаления его из списка требуется предварительно щелкнуть мышью по элементу списка. При обработке этого события проверяется наличие элементов в списке и активизируются кнопки “Зафиксировать”, “Удалить элемент” и “Очистить список”. Это обеспечивается следующими операторами:

Процедура Комментарии

Sub Listi Click() If List 1. Listi ndex >= 0 Then

Command3.Enabled = True Command6. Enabled = True End If End Sub

Свойство Listlndex равно номеру выделенного элемента. Если ни один элемент не выделен, то его значение - 0 Активизация кнопки удаления элемента и фиксации элемента

В результате обработки события “щелчок мыши” по элементу списка форма примет вид на рис. 2.26.

Рис. 2.26

При щелчке по кнопке “Удалить название” удаляется текущий выбранный элемент из списка, деактивируется кнопка удаления списка и, при условии отсутствия других элементов в списке, деактивируется кнопка “Очистить список”. Проверка на пус

тоту списка осуществляется с помощью свойства ListCount,

значение которого равно числу элементов в списке. Это обеспечивается следующими операторами:

Процедура Комментарии

Private Sub Command3 Clic() If Listi. Listi ndex >= 0 Then List 1. Remove Item List 1. List! ndex Command3.Enabled = False End If

If Listi. ListCount = 0 Then Command [.Enabled = False End If End Sub

Проверка на выбор элемента Удаление элемента из списка Деактивация кнопки удаления элемента списка, так как нет выделенных элементов в списке Проверка списка на пустоту. Если список пуст, то деактивация кнопки очистки списка

При щелчке по кнопке “Зафиксировать” выбранное название фирмы помещается в текстовое окно “Описание модели”, деактивизируется рамка с названием “Список фирм-дистрибьюторов” и все управляющие элементы, лежащие внутри рамки. Процедура обработки события щелчка по кнопке “Зафиксировать” имеет следующий вид:

В результате выполнения этой процедуры форма примет вид, показанный на рис. 2.27.

Рис. 2.27

На форме остались активными только два управляющих элемента: командная кнопка “Конец” и тестовое окно “Описание модели”. В текстовое окно можно добавлять собственный текст и редактировать имеющийся.

При нажатии на кнопку “Конец” работа программы завершается. Это обеспечивается операторами:

Процедура

Комментарии

Sub Command2 Click() End End Sub

End - оператор завершения программы

Тексты всех процедур обработки событий примера:

Private Sub Check2_Click() If Check2.Value = 1 Then

Textl.Text = Textl.Text + Check2.Caption + Chr$(13) + Chr$(10)

Check2.Enabled = False End If End Sub

Private Sub Check3_Cli.ck() If Check3.Value = 0 Then

Listi.Columns = 1 Else

Listi.Columns = 2 End If End Sub

Private Sub Check4_Click () If Check4.Value = 1 Then

Check4.Enabled = False

Textl.Text = Textl.Text + Check4.Caption + Chr$(13) + Chr$(10) End If End Sub

Private Sub Combol_Click() Combol.Enabled = False

Textl.Text = Textl.Text + Combol.Text + Chr$(13) + Chr$(10)

Labell.Enabled = False Combo2.Enabled = True Label2.Enabled = True End Sub

Private Sub Combo2_Click() Combo2.Enabled = False Label2.Enabled = False Private Sub Cornmand4_Click () Listl.AddItem Text2.Text Text2.Text = “” Commandl.Enabled = True End Sub

• Private Sub Command2_Click() End End Sub

Private Sub Command5_Click() Check2.Enabled = False Check4.Enabled = False Frame2.Enabled = False HScroill.Enabled = False Label4.Enabled = False Label5.Enabled = False Label6.Enabled = False Label7.Enabled = False Lab.el8 .Enabled = False Commands.Enabled = False

Textl.Text = Textl.Text + Label5.Caption + “Л.С” + Chr$(13) + Chr$(10)

Framel.Enabled = True Listi.Enabled = True Text2.Enabled = True Command4.Enabled = True Check3.Enabled = True Commandl.Enabled = True End Sub

Private Sub Command6_Click() ‘If Listl.ListIndex >= 0 Then

Textl.Text = Textl.Text + Listl.Text + Chr$(13) + Chr$(10)

Framel.Enabled = False Listi.Enabled = False Text2.Enabled = False Command4.Enabled = False Check3.Enabled = False Commandl.Enabled = False Command6.Enabled = False Commands.Enabled = False End If End Sub

Textl.Text = Textl.Text + Combo2.Text + Chr$(13) + Chr$(10)

If Combo2.Text .= “Красный” Then LabelS.BackColor = &HFF& Elself Combo2.Text = “Белый” Then LabelS.BackColor = &HFFFFFF Elself Combo2.Text = “черный” Then LabelS.BackColor = &HO Elself Combo2.Text = “Синий” Then LabelS.BackColor = &HFFOOOO Elself Combo2.Text = “Зеленый” Then LabelS.BackColor = &HCOOO&

End If

Combo3.Enabled = True

Label3.Enabled = True

End Sub

Private Sub Combo3_Click() Combo3.Enabled = False Label3.Enabled = False

Textl.Text = Textl.Text + Combo3.Text + Chr$(13) + Chr$(10)

Frame4.Enabled = True ‘ “ Optioni.Enabled = True Option2.Enabled = True Option3.Enabled = True End Sub

Private Sub Commandl Click () Listi.Clear ~ Commandl.Enabled = False End Sub

• Private Sub Command3_Click() If Listl.ListIndex >= 0 Then

Listi.Removeltem Listl.ListIndex

Command3.Enabled = False End If If Listi.ListCount = 0 Then

Commandl.Enabled = False End If End Sub Private Sub Form_Load()

Label4.Caption = Str$(HScrolll.Value * 735.499 / 1000)

Label5.Caption = Str$(HScrolll.Value) Combol.Addltem “Мерседес” Combol.Addltem “Ауди” Combol.Addltem “Фольксваген” Combol.Addltem “Шкода” Combol.Addltem “Рено” Combol.Addltem “Пежо” Combol.Addltem “Запорожец” Combo2.Addltem “Красный” Combo2.Addltem “Бельм” Combo2.Addltem “черный” Combo2.Addltem “Синий” Combo2.Addltem “Зеленый” Combo3.Addltem “Люкс” СотЬоЗ.Addltem “Стандарт” Combo3.Addltem “Минимум” Listl.Addltem “MusaMotors” Listi.Addltem “Savva” Listl.Addltem “A3P” Listl.Addltem “ЛогоВАЗ” Listl.Addltem “ЛадаИнжениринг” End Sub

Private Sub HScrolll_Change()

Label4.Caption = Str$(HScrolll.Value * 735.499 / 1000)

Labels.Caption = Str$(HScrolll.Value) End Sub

Private Sub Listl_Click() If Listl.Listlndex >= 0 Then Command3.Enabled = True Command6.Enabled = True End If End Sub

Private Sub Optionl_Click() Frame4.Enabled = False Optioni.Enabled = False Option2.Enabled = False Option3.Enabled = False

Textl.Text = Textl.Text + Optioni.Caption Chr$(13) + Chr$(10)

Check2.Enabled = True

Check4.Enabled = True

Frame2.Enabled = True

HScrolll.Enabled = True

Label4.Enabled = True

Labels.Enabled = True

Label6.Enabled = True

Label7.Enabled = True

Labei8.Enabled = True

Commands.Enabled = True End Sub

Private Sub Option2_Click() Frame4.Enabled = False Optionl. Enabled = False Option2.Enabled = False Option3.Enabled = False

Textl.Text = Textl.Text + Option2.Caption + Chr$(13) + Chr$ (10)

Check2.Enabled = True Check4.Enabled = True Frame2.Enabled = True HScrolll.Enabled = True Label4.Enabled = True Labels.Enabled = True Label6.Enabled = True Label7.Enabled = True Labels.Enabled = True Commands.Enabled = True End Sub

Private Sub Option3_Click() Frame4.Enabled = False Optioni.Enabled = False Option2.Enabled = False Option3.Enabled = False

Textl.Text = Textl.Text + Option3.Caption > Chr$(13) + Chr$ (10)

Check2.Enabled = True Check4.Enabled = True Frame2.Enabled = True HScrolll.Enabled = True Label4.Enabled = True Ldbel5. Ei-icioled = True Ldnei6.EnDied = True LdDpl7 . L.Jt,ied = Tr.Je Lctbel8 . Er.dbied = True CoiTimand . £.ndbled = Tru Ei-ici Sub


Информация о работе «Програмирование на Visual Basic»
Раздел: Кибернетика
Количество знаков с пробелами: 282295
Количество таблиц: 41
Количество изображений: 133

Похожие работы

Скачать
61591
9
0

... соответствующее диалоговое окно для выбора таблиц из базы-источника, а затем диалоговое окно для выбора файла назначения. ·     Выберите соответствующие спецификации и выполните экспортирование. ·     Microsoft Access выдаст сообщение о результате экспортирования.   Запросы. Запрос можно представить себе как точку зрения на данные, включенные в таблицу. Запросы служат для селекции и ...

Скачать
62384
1
0

... мастера на основе одной или нескольких таблиц или запросов. Мастер задает подробные вопросы об источниках записей, полях, макете, требуемых форматах и создает отчет на основании полученных ответов. 1.        В окне базы данных выберите Отчеты и нажмите кнопку Создать. 2.        В диалоговом окне Новый отчет выберите нужного мастера. 3.        Выберите таблицу или запрос, содержащие данные, на ...

Скачать
23613
0
1

... . В начале своего появления сканеры взаимодействовали с программами посредством уникального для каждой модели сканера интерфейса, что серьезно затрудняло включение поддержки работы со сканером в прикладные программы. Для решения этой проблемы был разработан TWAIN - индустриальный стандарт интерфейса программного обеспечения для передачи изображений из различных устройств в Windows и Macintosh. ...

Скачать
257002
0
22

... быть выведены на печать. На экране рисунки могут быть статическими (неподвижными) или динамическими (движущимися). В последнее время машинная графика выделилась в самостоятельный раздел информатики с многочисленными приложениями. Средствами машинной графики создается не только печатная продукция, но и рекламные ролики на телевидении, мультфильмы. Объясним, как кодируется изображение в памяти ...

0 комментариев


Наверх