МЕТОДИЧЕСКИЕ
РЕКОМЕНДАЦИИ
преподавателя Мирошниченко В.А.
по выполнению практической работы «Встроенные диалоговые окна»
МДК.01.02
Прикладное программирование
ПМ.01
Разработка программных модулей программного обеспечения для компьютерных систем
Оглавление
Встроенные диалоговые
окна. 3
Цели занятия: 3
Коротко о главном.. 3
Задание 1. 5
Доработайте свой проект
Магазин: пусть щелчок на кнопке Выход на форме Сувениры вызывает сообщение
пользователю “Спасибо за покупку!”. 5
Задание 2. 5
Доработайте свой проект
Магазин: при щелчке на кнопке Выход на форме Выбор_отдела появляется окно, в
котором надо подтвердить или отменить выход. 5
Задание 3. 6
Доработайте свой проект
Магазин: при открытии книги Магазин появляется окно ввода данных Знакомство,
пользователь вводит свое имя. Затем выводится на экран окно сообщения Приглашение
к работе, и только после этого выводится форма Выбор_отдела. 6
Задание 4. 7
VBA позволяет
отображать программно на экране встроенные диалоговые окна в Excel наряду с пользовательскими диалоговыми окнами. Добавьте в форму
Выбор_отдела кнопку вызова окна Сохранение документа. 7
Проверь себя. 7
Запишите в тетрадь
ответы на контрольные вопросы и решения ситуаций. 7
Встроенные диалоговые окна
Цели занятия:
Изучить некоторые возможности
организации диалога с пользователем.
Освоить приемы использования
функций MsgBox и InputBox.
Коротко о главном
Диалоговые окна – наиболее общее и
гибкое средство организации взаимодействия пользователя с прикладной системой.
Чтобы диалоговое окно стало доступно пользователю, его надо вывести на экран в
ответ на некоторое действие пользователя или автоматически при некотором изменении
состояния системы.
Редактор VBA
позволяет использовать стандартные встроенные диалоговые окна и проектировать
пользовательские диалоговые окна. Диалоговое окно, созданное функцией MsgBox
служит для вывода на экран сообщения программы и получения от пользователя
простой реакции на это сообщение в виде щелчка одной из кнопок окна.
Синтаксис
вызова
функции
MsgBox:
MsgBox(prompt[,
buttons] [, title] [, helpfile, context])
Здесь параметр prompt (сообщение) – строковое выражение, значение которого выводится в окне.
Числовой параметр buttons (кнопки) задает виды командных кнопок, кнопку, выбираемую по умолчанию,
и модальность диалогового окна. Строковое выражение title задает заголовок окна. Параметр helpfile – имя файла, содержащего справку, который будет выведен принажатии
клавиши F1, context – числовое выражение, задающее номер темы со справкой.
В таблице 11 приведены свойства окна функции MsgBox.
Таблица 11
Имя константы
|
Код
|
Описание
|
Коды наборов командных кнопок
|
VbOKOnly
|
0
|
Только кнопка ОК
|
VbOKCancel
|
1
|
Кнопки ОК и Отмена
|
VbAbortRetryIgnore
|
2
|
Кнопки Прервать, Продолжить,
Игнорировать
|
VbYesNoCancel
|
3
|
Кнопки Да, Нет, Отмена
|
VbYesNo
|
4
|
Кнопки Да и Нет
|
VbRetryCancel
|
5
|
Кнопки Продолжить и Отмена
|
Коды пиктограмм
|
VbCritical
|
16
|
Важное сообщение
(крестик в круге)
|
VbQuestion
|
32
|
Запрос (вопросительный знак)
|
VbExclamation
|
48
|
Предупреждение (восклицательный знак)
|
VbInformation
|
64
|
Информация (i в круге)
|
Кнопка, выбранная
по умолчанию
|
VbDefaultButton1
|
0
|
Первая кнопка
|
VbDefaultButton2
|
256
|
Вторая кнопка
|
VbDefaultButton3
|
512
|
Третья кнопка
|
VbDefaultButton4
|
768
|
Четвертая кнопка
|
Модальность диалога
|
VbApplicationModal
|
0
|
приложения
|
vbSystemModal
|
4096
|
Модален
относительно системы
|
Как узнать, какую кнопку выбрал пользователь?
Присвоить значение функции MsgBox некоторой целочисленной переменной и проверить его. Возвращаемые
функцией MsgBox значения приведены в таблице 12.
Таблица 12
Имя константы
|
Значение
|
Нажатая кнопка
|
VbOK
|
1
|
OK
|
VbCancel
|
2
|
Cancel
|
VbAbort
|
3
|
Abort
|
VbRetry
|
4
|
Retry
|
VbIgnore
|
5
|
Ignore
|
VbYes
|
6
|
Yes
|
VbNo
|
7
|
No
|
Окно, создаваемое функцией InputBox, предназначено для ввода строки и содержит однострочное окно
редактирования, сообщение и кнопки ОК и Cancel.
Синтаксис
вызова функции InputBox:
InputBox(prompt
[, title] [, xpos]
[, ypos] [, helpfile,
context])
Параметр xpos задает расстояние по горизонтали левой границы окна от левой границы
экрана, ypos – расстояние верхней границы окна от верхней границы экрана.
Задание 1
Доработайте
свой проект Магазин: пусть щелчок на кнопке Выход на форме Сувениры вызывает
сообщение пользователю “Спасибо за покупку!”.
1 Откройте рабочую книгу Магазин.
2 Откройте
редактор Visual Basic.
3 В
окне Проект выберите объект – форму frmSuvenir.
4 Двойным
щелчком на кнопке Выход перейдите в окно редактора кода.
5 Добавьте
функцию MsgBox в обработчик события.
Private Sub btnEnd_Click()
MsgBox "Спасибо за покупку!"
frmSuvenir.Hide
frmOtdel.Show
End Sub
6 Проверьте
работу функции.
Задание 2
Доработайте
свой проект Магазин: при щелчке на кнопке Выход на форме Выбор_отдела
появляется окно, в котором надо подтвердить или отменить выход.
1 В окне Проект выберите объект – форму frmOtdel.
2 Двойным
щелчком на кнопке Выход перейдите в окно редактора кода.
3 Объявите
переменные.
4 Добавьте
функцию MsgBox в обработчик события.
Private
Sub
Выход_Click()
Dim Msg As String, Btns As Integer
Dim Title As String
Dim Result As Integer
'Заголовок окна
Title =
"Подтвердите выход!"
'сообщение
Msg =
"Вы хотите выйти из магазина?"
'Кнопки
и свойства
Btns =
vbYesNo+vbCritical+vbDefaultButton2
'Вывод
сообщения.
Result =
MsgBox(Msg, Btns, Title)
'Анализ
действий пользователя
If
Result = vbYes Then
Application.Quit
End If
End
Sub
Задание 3
Доработайте
свой проект Магазин: при открытии книги Магазин появляется окно ввода данных
Знакомство, пользователь вводит свое имя. Затем выводится на экран окно сообщения
Приглашение к работе, и только после этого выводится форма Выбор_отдела.
1 В
окне Проект выберите объект ThisWorkbook
2 В
окне редактора кода объявите переменные, создайте окно ввода данных при помощи
функции InputBox, а затем окно сообщения при помощи функции MsgBox.
Предусмотрите заголовки окон и пиктограммы (свойства функции MsgBox приведены в
таблице 10).
Пример:
Sub asd()
Dim q As String
q
= InputBox("Как вас зовут?", "proba")
MsgBox
"Привет, " & q, , "proba"
End Sub
3 Проверьте
работу своего приложения.
Задание 4
VBA позволяет
отображать программно на экране встроенные диалоговые окна в Excel наряду с пользовательскими диалоговыми окнами. Добавьте в форму
Выбор_отдела кнопку вызова окна Сохранение документа.
1 В
окне Проект выберите объект Выбор_отдела.
2 Добавьте
элемент управления CommandButton.
3 Создайте
обработчик события:
Private
Sub
btnSave_Click()
Application.Dialogs(xlDialogSaveAs).Show
End
Sub
4 Проверьте
работу своего приложения.
Проверь себя
Запишите в
тетрадь ответы на контрольные вопросы и решения ситуаций
1 Напишите процедуру активизации диалогового окна Excel Печать при нажатии кнопки btnPrint.
2 Напишите
процедуру закрытия диалогового окна frmClient
при нажатии кнопки btnExit.
Ситуация
1. Пользователю предлагается ввести в окно ввода
название города, в котором мы живем, и предусматривается два варианта
сообщений: «Неправильный ответ» и «Любимый город может спать спокойно».
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.