бесплатно рефераты
 

Програмирование на Visual Basic

является список Object в окне Properties. He позволяет вводить информацию в

текстовое окно.

Простой комбинированный список содержит поле для ввода и нераскрывающийся

список под этим полем в окне постоянного размера. Позволяет либо вводить

текст в поле, либо выбирать элемент из списка.

Раскрывающийся комбинированный список выглядит как раскрывающийся, но

позволяет и выбирать элемент и вводить текст.

Text определяет либо текст выделенного в списке элемента, либо текст поля

ввода.

Комбинированный список реагирует на уже рассмотренные события Click

(Щелчок), DblClick (Двойной щелчок), Keypress (Нажатие клавиши), GotFocus

(Установка фокуса), LostFocus (Потеря фокуса), которые вызывают

соответствующие процедуры обработки этих событий.

Методы:

Addltem включает элемент (строку текста) в комбинированный список.

Синтаксис:

имя списка Addltem строка [, индекс}

Если индекс отсутствует, то элемент автоматически ставится в конец

комбинированного списка. Если значение свойства Sorted равно True, то

индекс должен отсутствовать - элемент размещается в соответствии с

алфавитным порядком.

Clear удаляет из списка все элементы. Синтаксис:

имя списка. Clear

Removelen убирает из списка элемент с заданным индексом. Синтаксис:

имя списка. Removelen индекс

Пример программы.

Создадим новый проект и разместим на форме следующие управляющие элементы:

два списка наверху и три комбинированных списка внизу, снабдив их

заголовками (метки).

[pic] Имена элементов задаются по умолчанию (последовательно слева направо

списки: List! и List2, комбинированные списки:

Combol, Combo 2, СотЬоЗ).

Значения свойства Style: для комбинированного списка Combo! зададим /, для

Combo2 - 0, для Combo 3 - 2. Размер окна для комбинированного списка Combol

нужно определить при размещении элемента на форме. Форма имеет вид,

показанный на рис. 2.12.

Определим следующие процедуры обработки событий:

Listl.AddItem List2.Text List2.Removeltem List2.Listlndex End Sub

Процедура Form_Load обеспечивает формирование исходной информации списков.

Процедуры Listl_DblClick и List2_DblClick обеспечивают при двойном щелчке

мыши по одному из элементов списка перенос этого элемента в другой список.

Процедуры Combo l_Key Press и Со mbo2_Key Press обеспечивают ввод

набранного текста в строке ввода при нажатии клавиши Enter в

соответствующий список. После запуска программы выводится исходная форма

(рис. 2.13). Двойной щелчок мыши по одному из элементов верхних списков

переносит этот элемент в другой список.

Элементы левого комбинированного списка сразу же выведены в окно. Имеется

возможность выбора элемента из списка и ввода нового элемента в список,

набрав его в строке ввода.

Элементы центрального комбинированного списка появляются в раскрывающемся

окне после щелчка мыши по стрелке. Имеется возможность выбора элемента из

списка и ввода нового элемента в список, набрав его в строке ввода.

Элементы правого комбинированного списка появляются в раскрывающемся окне

после щелчка мыши по стрелке. Имеется возможность только выбора элемента из

фиксированного списка (рис. 2.14, 2.15).

[pic]

Рис. 2.13

Private Sub Combol_KeyPress(keyascii As Integer)

If keyascii = 13 Then

combol.Addltem combol.Text

End If End Sub

Private Sub Combo2_KeyPress(keyascii As Integer)

If keyascii = 13 Then

combo2.Addltern combo2.Text

End If End Sub

Private Sub Form_Load ()

Listl.AddItem “Иванов И.И.” Listl.AddItem “Петров П.П.” Listl.AddItem

“Сидоров С.С.”

сотЬоЗ.Addltem “Неудовл.” combo 3.Add!tern “Удовлетв.” combo3.Addltem

“Хорошо” сотЬоЗ.Addltem “Отлично” combo2.Addltem “Михайлов М.М.”

combo2.Addltem “Николаев Н.Н.” combol.Addltem “Физика” combol.Addltem

“Математика” combol.Addltem “История” End Sub

Private Sub Listl_DblClick() List2.Addltem Listi.Text Listi.Removeltem

Listi.Listlndex

End Sub

Private Sub List2_DblClick() 2.11. ЛИНЕЙКИ ПРОКРУТКИ

Horizontal Scroll Bar и Vertical Scroll Bar (Горизонтальные и вертикальные

линейки прокрутки) позволяют задавать значение какой-либо величины в

определенном диапазоне и узнавать значение этой величины по позиции движка

на линейке.

Линейки прокрутки обладают уже рассмотренными свойствами: Enabled (Доступ),

Height (Высота), Width (Ширина), Name (Имя), Тор (Верхняя координата), Left

(Левая координата), Visible (Видимость), которые имеют те же функции и

значения параметров.

LargeChange (Постраничное изменение) определяет изменение текущей позиции

движка и соответственно задаваемую величину (Value) при щелчке внутри

линейки прокрутки.

Мах (Максимум) определяет максимальное значение задаваемой величины

(соответствует крайней правой или нижней позиции движка). Диапазон

значений: от -32768 до 32767.

Min (Минимум) определяет минимальное значение задаваемой величины

(сответствует крайней левой или верхней позиции движка). Диапазон значений:

от -32768 до 32767.

SmallChange (Построчное изменение) определяет изменение текущей позиции

движка и соответственно задаваемую величину (Value) при щелчке по одной из

стрелок направления прокрутки.

Value (Текущая позиция) отражает текущее значение и позицию движка. При

изменении свойства программным путем движок перемещается в соответствующую

позицию. При выходе за пределы, установленные Мах и Min, выводится

сообщение об ошибке.

Линейки прокрутки реагируют на уже рассмотренные события Click (Щелчок),

DblClick (Двойной щелчок), Keypress (Нажатие клавиши), GotFocus (Установка

фокуса), LostFocus (Потеря фокуса), которые вызывают соответствующие

процедуры обработки этих событий.

Scroll (Прокрутка) непрерывно генерируется при перемещении (мышью) движка

по линейке и позволяет динамически отслеживать его позицию.

Change (Изменение) возникает при изменении позиции движка и определяет его

конечное положение.

Рассмотренные ранее методы неприменимы к линейкам прокрутки.

[pic]

[pic] Пример программы.

Откроем новую форму и разместим на ней два текстовых окна и горизонтальную

линейку прокрутки (рис. 2.16).

В окне Properties (Свойства) для объекта Hscrolll (имя присваивается по

умолчанию) зададим следующие значения свойств:

LargeChange = 10, Мах = 100, Min = 0, SmallChange = 5.

[pic]

Рис. 2.16

Определим процедуры обработки событий НScrolll_Change и HScrolll_Scroll:

.Private Sub HScrolll_Change()

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. На форме активны:

текстовое окно с названием “Описание модели”, рамка “Список фирм-

дистрибъютеров”, командная кнопка с названием “Очистить список”, командная

кнопка с названием “Добавить название”, текстовая строка для добавления

нового имени в список продавцов и кнопка “Конец”.

При щелчке по флажку “Двухколоночный” список в зависимости от состояния

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

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11


ИНТЕРЕСНОЕ



© 2009 Все права защищены.