Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mv_basic.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.88 Mб
Скачать
    1. Комбинированный список

Управляющий элемент ComboBox (комбинированный список) объединяет текстовое окно (поле ввода) с обычным списком в один элемент управления. Комбинированный список не позволяет размещать элементы в несколько колонок.

Комбинированный список обладает уже рассмотренными выше свойствами: BackColor (цвет фона), Enabled (доступ), FontBold, FontItalic, FontName, FontSize, FontStrikethru, FontUnderline, ForeColor (основной цвет), Height (высота), Width (ширина), Name (имя), Top (верхняя координата), Left (левая координата), Visible (видимость), Sorted (сортировка).

Специфические свойства элемента следующие:

Style (тип) определяет тип комбинированного списка и принимает значения: 0 (раскрывающийся комбинированный список), 1 (простой комбинированный список), 2 (раскрывающийся список).

Раскрывающийся список вначале отображает одну строку со стрелкой справа. Щелчок мыши на стрелке открывает весь список, в котором можно выбрать один из элементов, как в обычном списке. Примером раскрывающегося списка является список Object в окне Properties. Не позволяет вводить информацию в текстовое окно.

Простой комбинированный список содержит поле для ввода и нераскрывающийся список под этим полем в окне постоянного размера. Позволяет либо вводить текст в поле, либо выбирать элемент из списка.

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

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

Комбинированный список реагирует на уже рассмотренные события Click (щелчок), DblClick (двойной щелчок), KeyPress (нажатие клавиши), GotFocus (установка фокуса), LostFocus (потеря фокуса), которые вызывают соответствующие процедуры обработки этих событий.

Методы:

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

имя_списка.AddItem строка [, индекс].

Если индекс отсутствует, то элемент автоматически добавляется в конец комбинированного списка. Если значение свойства Sorted равно True, то индекс должен отсутствовать (элемент размещается в соответствии с алфавитным порядком).

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

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

имя_списка.RemoveItem (индекс).

    1. Встроенные окна диалога

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

Для ввода данных используется функция InputBox. Функция возвращает введенное значение. Значение преобразуется к типу выражения, в котором вызывается InputBox.

Синтаксис функции:

InputBox (prompt [, title] [, default] [, xpos] [, ypos]), где

promptкомментарий к вводу информации;

title – текст заголовка окна;

default - значение по умолчанию для строки ввода;

xpos, ypos - координаты верхнего левого угла окна.

Пример. MyValue = InputBox ("Введите Х", "Заголовок", "0", 500, 300). Вид этого окна приведен на рис. 4.1.

Рис. 4.1. Пример окна InputBox

Функция MsgBox используется для вывода диалогового окна сообщения. Синтаксис ее применения следующий:

MsgBox сообщение [, тип окна] [, заголовок окна], где:

сообщение - текст сообщения;

заголовок окна - текст заголовка диалогового окна;

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

Пример. MsgBox «Закончить?», 36, «Пример окна MsgBox».

В данном операторе значение аргумента 36 является суммой 32 и 4 (32 - вывод пиктограммы с вопросительным знаком, 4 - кнопки «Yes» и «No»). Вид этого окна приведен на рис 4.2.

Рис. 4.2. Пример окна MsgBox

Функция MsgBox в зависимости от нажатой кнопки из списка возможных отображаемых кнопок может возвращать значения, приведенные в таблице 4.2. Эти значения можно использовать для анализа результата работы пользователя с окном MsgBox.

Таблица 4.1.

Значения основных констант диалога MsgBox и их описание

Группа

Значение типа

Константа

Описание

1

0

vbOKOnly

Выводить только кнопку ОК

1

vbOKCancel

Выводить кнопки ОК и Cancel

2

vbAbortRetryIgnore

Выводить кнопки Abort, Retry, Ignore

3

vbYesNoCancel

Выводить кнопки Yes, Nо, Саnсеl

4

vbYesNo

Выводить кнопки Yes, Nо

5

vbRetryCancel

Выводить кнопки Retry, Саnсеl

2

16

vbCritical

Выводить пиктограмму "Стоп"

32

vbQuestion

Выводить пиктограмму "?"

48

vbExclamation

Выводить пиктограмму "!"

64

vbInformation

Выводить пиктограмму информации

3

0

vbDefaultButton1

Кнопка по умолчанию - первая

256

vbDefaultButton2

Кнопка по умолчанию - вторая

512

vbDefaultButton3

Кнопка по умолчанию - третья

4

0

vbApplicationModal

Программное ведущее диалоговое окно

4096

vbSystemModal

Системное ведущее диалоговое окно

Таблица 4.2.

Константы, возвращаемые диалогом MsgBox

Константа

Значение

Выбираемая кнопка

VbOK

1

OK

VbCancel

2

Cancel

VbAbort

3

Abort

VbRetry

4

Retry

VbIgnore

5

Ignore

VbYes

6

Yes

VbNo

7

No

Ниже приводится полный текст программы (листинг) решения квадратного уравнения с использованием встроенных диалоговых окон (рис. 4.3).

'Решение квадратного уравнения'

Private Sub Form_Load()

Dim a, b, c, d, x1, x2 As Single

MsgBox "A*X^2 + B*X + C = 0"

a = InputBox("A = ")

b = InputBox("B = ")

c = InputBox("C = ")

If a = 0 Then

If b = 0 Then

MsgBox "Нет решений"

Else

x1 = -c / b

MsgBox "X = " + Str(x1)

End If

Else

d = b ^ 2 - 4 * a * c

If d < 0 Then

MsgBox "Нет решений"

Else

x1 = (-b + Sqr(d)) / 2

x2 = (-b - Sqr(d)) / 2

MsgBox "X1 = " + Str(x1) + " , X2 = " + Str(x2)

End If

End If

End Sub

Рис. 4.3. Листинг программы решения квадратного уравнения

  1. Примеры программ с использованием элементов управления

    1. Программа пересчета валюты

      1. Описание задачи

Н еобходимо создать программу для пересчета заданной суммы (в рублях) в валюту (доллары) по текущему курсу. Программа должна позволять пользователю вводить исходные данные (такие как сумма в рублях и текущий курс) и просматривать полученный результат (см. рис.5.1).

Рис. 5.1. Окно программы пересчета валюты

      1. Этапы создания и отладки программы

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

Вид пользовательского интерфейса приведен на рис. 5.1. Приступим к его разработке.

        1. Разработка пользовательского интерфейса приложения

Как уже было сказано выше, при разработке интерфейса для рассматриваемой программы должны быть предусмотрены средства для ввода исходных данных, инициирования вычислений, а также для вывода полученных результатов на экран. Воспользуемся тремя типами элементов:

  • TextBox (текстовое поле) предназначен для ввода и отображения текстовой информации.

  • Label (метка) используется для отображения различных сведений информационного характера, например, надписей, заголовков, названий полей. В отличие от TextBox пользователь не может изменить в нем отображаемую информацию во время выполнения проекта.

  • CommandButton (кнопка) используется для активизации различных действий программы по щелчку мыши в ее области.

Список необходимых элементов управления данной программы и нестандартные значения их свойств приведены в таблице 5.1.

Таблица 5.1.

Элементы управления программы пересчета валюты и значения их свойств

Элемент

Свойство

Значение

Форма

Caption

Пересчет рублей в валюту

Текстовое поле

для суммы в руб.

Name

TextR

Text

Enabled

True

Текстовое поле

для курса валюты

Name

TextK

Text

Enabled

True

Текстовое поле

для суммы в валюте

Name

TextV

Text

Enabled

False

Метка

для суммы в руб.

Name

LabelR

Caption

Сумма (руб.)

Метка

для курса валюты

Name

LabelK

Caption

Курс

Метка

для суммы в валюте

Name

LabelV

Caption

Сумма (в валюте)

Кнопка для вычисления

Name

CmdCalc

Caption

Вычислить

Кнопка для выхода

Name

CmdExit

Caption

Выход

Поместим в форму элемент TextBox (процедура помещения элементов описана в разделе 3.4).

После его помещения надо установить значения двух его свойств: Name и Text. Для этого надо обратиться к окну свойств [1]. Оно представлено двумя колонками. Первая колонка содержит названия свойств, вторая колонка – значения этих свойств. Свойство Name находится первым в списке. Это свидетельствует о его важности. За ним в алфавитном порядке следуют остальные свойства объекта. Кроме алфавитного порядка, свойства можно отсортировать по категориям, щелкнув по вкладке Categorized.

Свойство Name играет очень важную роль, потому что его значение используется в программе для идентификации элемента управления. Каждый элемент должен иметь уникальное имя, которое хранится в этом свойстве. Visual Basic автоматически назначает для каждого элемента стандартное имя. Использование таких стандартных имен является плохой практикой, они не расшифровывают назначение элемента. Поэтому для данного поля изменим значение свойства Name на TextR.

Теперь рассмотрим свойство Text текстового поля. В него помещается введенный пользователем текст. Кроме того, значение этого свойства отображается в текстовом поле. По умолчанию этому свойству назначается стандартное значение – имя элемента. В нашем случае мы должны очистить это свойство, чтобы при выполнении программы пользователь мог ввести туда свое значение.

Добавим в форму еще два текстовых поля с именами TextK, TextV. Значение свойства Text установим пустым, аналогично полю TextR. Это означает, что при запуске программы на выполнение поля TextR, TextK и TextV будут незаполненными, и значение в них должно быть введено пользователем при помощи клавиатуры.

Для добавления нескольких однотипных элементов можно выполнить щелчок по панели ToolBox при нажатой клавише Ctrl.

Для изменения положения элемента управления в форме надо просто его перетащить. Если во время перетаскивания сделать небольшую паузу, то рядом с указателем мыши появится желтое окошко, в котором будут находиться координаты текущего элемента относительно верхнего левого угла формы. Перемещать можно сразу группу элементов: для этого надо выделить их по очереди при нажатой клавише Ctrl. Есть и другой метод выбора нескольких элементов – метод охвата. Надо поместить указатель мыши в пустую часть формы, чуть выше и левее первого элемента, а затем протянуть мышь по диагонали в пустую часть формы, чуть ниже и правее последнего элемента.

Для изменения размеров элемента управления его надо сначала выбрать, а затем перетащить маркер размера.

Добавим подписи к текстовым полям, так как при работе с программой пользователь должен знать назначение полей формы. Введем рядом с каждым текстовым полем (слева от него) элемент Label (метка). Изменим для них значения свойств Name, Caption в соответствии со значениями, указанными в таблице 5.1.

Добавим в форму управляющие работой программы две кнопки (одна для вычислений, другая для выхода). После щелчка по кнопке программа будет выполнять некоторые действия. Изменим значения их свойств Name и Caption. Например, для кнопки выхода (завершения) из программы присвоим ее свойству Name значение cmdExit, а свойству Caption - значение «Выход».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]