Файл: Учебник Макаровой.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.07.2024

Просмотров: 1512

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ДИАЛОГОВЫЕ ОКНА

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

Диалоговые окна для обмена сообщениями

Встроенная функция MsgBox() обеспечивает создание диалоговых окон различных типов. 1. Простое окно-сообщение

MsgBox ("строка_сообщения")

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

Пример 19.37. Вывод сообщения о значении переменной

Текст программы

Комментарий

Option Explicit

Обязательность объявления всех

 

переменных в модуле перед их

 

использованием

Sub Msg_Priim()

Объявление процедуры

Dim a As Single

Объявление переменной

Randomize

Запуск генератора случайных чисел

 

Присвоение переменной значения

a=rnd

случайного числа

MsgBox "Значение

Вывод сообщения

 

случайного числа " & Str(a)

Конец процедуры

End Sub

 

В результате выполнения процедуры будет выведено окно (рис. 19.23).

599


Рис. 19.23. Окно-сообщение

2. Окно-сообщение с командными кнопками Общий формат оператора:

MsgВох("строка_сообщение"[, <кнопки>] [, "заголовок_окна"] [, <файл-подсказки>, <контекст>])

где <строка_сообщение>

- максимальная длина строки – 1024 символа;

<кнопки>

- число, являющееся суммой кодов выбранных типов кнопок и

 

пиктограммы, или имена кнопок;

<заголовок_окна>

- строка символов;

<файл-подсказки>

- имя файла-подсказки для контекстно-зависимой помощи при работе в

 

окне, строка символов;

<контекст>

- число, которое назначено подсказке для данного окна.

Коды задания командных кнопок и пиктограмм в функции MsgBox() приведены в табл. 19.7. Функция MsgBox() возвращает код (число), соответствующий нажатой кнопке.

Таблица 19.7. Список видов командных кнопок и их кодов

Код

Константа

Описание

 

 

Коды командных кнопок

0

vbOKOnly

OK

1

vbOKCancel

OK, Отмена

2

vbAbortRetryIgnore

Прекратить, Повторить, Игнорировать

3

vbYesNoCancel

Да, Нет, Отмена

4

vbYesNo

Да, Нет

5

vbRetryCancel

Повторить, Отмена

Пример 19.38. Формирование диалогового окна с кнопками

Текст программы

Комментарий

600



 

Option Explicit

 

 

Обязательность объявления всех

 

Sub Msg_Priim()

 

переменных в модуле перед их

 

 

 

 

 

использованием

 

 

 

 

 

 

 

Объявление процедуры

 

 

Dim Response As Integer

Объявление переменной

 

 

Dim Msg As String

 

Строка сообщения

 

 

Dim Title As String

 

Кнопки

для

окна

 

Dim Help As String

 

(vbYesNoCancel

+

+

 

Dim Style As Integer

 

vbDefaultButtonH vbQuestion)

 

 

Dim Ctxt As Integer

 

Заголовок окна

 

 

Msg

=

"Вы

хотите

Имя файла-подсказки

 

 

продолжить ?"

 

 

Номер контекста внутри файла-

 

Style = 35

 

 

подсказки

 

 

 

Title = "Пример окна-

Присвоение

переменной

кода

 

сообщения"

 

 

ответа

 

 

 

Help = "DEMO.HLP"

 

Конец процедуры

 

 

Ctxt = 0

 

 

 

 

 

 

Response =

MsgBox(Msg;

 

 

 

 

Style; Title; Help; Ctxt)

 

 

 

 

 

End Sub

 

 

 

 

 

В результате выполнения программы будет

сформировано

следующее окно (рис. 19.24).

 

Рис. 19.24. Окно-сообщение с кнопками

Диалоговые окна для ввода данных

Функция InputBox() обеспечивает формирование окна для вывода строки сообщения и ожидания ввода строки символов или нажатия кнопки. Возвращает содержание текстового блока:

InputВох(<строка_сообщение> [,<заголовок_окна>][.<текст_по_умолчанию>] [,Хпоз][,Yпоз][, <файл-подсказки>, <контекст>])

где <текст_по_умолчанию>

- строка символов, выводимая в текстовом блоке (может быть пустой);

Хпоз, Yпоз

- позиция левого верхнего угла окна.

 

 

 

Пример 19.39. Формирование окна ввода

 

 

 

 

 

 

 

 

 

Текст программы

 

Комментарий

 

 

 

Option Explicit

 

Обязательность

объявления

 

 

Sub Msg_Inp()

 

всех переменных в модуле перед

 

 

 

 

их использованием

 

 

 

 

 

Объявление процедуры

 

 

Dim Response As String

 

Объявление переменной

 

 

Dim Message As String

 

Строка-сообщение

 

 

Dim Default As String

 

Заголовок окна

 

 

 

Dim Title As String

 

Текст по умолчанию

 

 

Dim Help As String

 

Присвоение

переменной

 

 

Dim Style As Integer

 

символьного типа

результата

 

 

Dim Ctxt As Integer

 

ввода

 

 

 

Message = "Введите

Фамилию,

 

 

601


Имя и Отчество студента"

 

Конец процедуры

Title = "Пример окна для ввода"

 

 

Default = "Смирнов Игорь

 

Александрович"

Response

=

 

InputBox(Message;

Title; Default;

 

100; 100)

 

 

 

End Sub

 

 

 

 

 

 

 

В результате выполнения программы будет выведено диалоговое окно (рис. 19.25).

Рис. 19.25. Диалоговое окно для ввода данных

Диалоговые окна пользователей

Диалоговые окна пользователей обеспечивают ввод и редактирование данных файлов и таблиц. Для

создания диалогового окна выполняется команда ВСТАВКА, Макрос с указанием типа вставляемого листа Диалог. Экран содержит основу для построения диалогового окна пользователя, а также панель инструментов Формы (рис. 19.26) для размещения и настройки (форматирования) элементов окна.

Рис. 19.26. Панель инструментов Формы

Таблица 19.8. Состав панели инструментов Формы

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

объектов. Доступ к конкретному элементу по имени набора и имени или порядковому номеру элемента внутри набора.

Метки не могут редактироваться пользователем в процессе работы с диалоговым окном, но могут изменяться программным путем с помощью свойства Caption объекта Labels().

602