- •Вбудовані діалогові вікна
- •Застосування функції Input Box
- •Створення простого вікна повідомлення
- •Додавання командних кнопок у вікно повідомлення для створення діалогового вікна
- •Набуття значень від функції MsgBox
- •Застосування діалогових вікон інших типів
- •Виклик діалогових вікон додатка
- •Малюнок 1 Діалогове вікно Excel відображується за допомогою методу Show
-
Додавання командних кнопок у вікно повідомлення для створення діалогового вікна
У вікно повідомлення можна додати декілька командних кнопок, що дозволить розширити його можливості і перетворити його в діалогове вікно. Можна додати командні кнопки, використавши необов'язкові аргументи функції MsgBox(). Ці додаткові кнопки дозволяють користувачеві вибрати напрям дій або варіант відповіді на просте питання.
Коди цих командних кнопок передаються як другий аргумент функції (першим аргументом є текст, що відображується в діалоговому вікні) або як пойменований аргумент buttons. Список кодів і імен констант, допустимих в Visual Basic, приведений в таблиці. 1. Додаткові коди дозволяють задати командну кнопку за умовчанням, вказати піктограму і оголосити діалогове вікно модальним.
Синтаксис:
имя_переменной = MsgBox( Prompt, buttons, title)
де Prompt –‘Текст’, повідомлення у вікні повідомлення; buttons– константа дозволяє відображувати кнопки в діалоговому вікні; title – Заголовок, текст в рядку заголовка в діалоговому вікні.
Таблиця 1. Коди завдання командних кнопок і піктограм у функції MsgBoxO
-
Код
Константа
Опис
Коди командних кнопок
0
vbOKOnly
OK
1
vbOKCancel
OK і Cancel
2
vbAbortRetryIgnore
Abort, Retry і Ignore
3
vbYesNoCancel
Yes, No і Cancel
4
vbYesNo
Yes і No
5
vb Retry Cancel
Retry і Cancel
Коди активності за умовчанням
0
vbDefaultButton1
Активна перша
25
vbDefaultButton2
Активна друга
51
vbDefaultButton3
Активна третя
. Коди піктограм
16
vbCritical
Важливе повідомлення
32
vbQuestion
Попереджувальний запит
48
vbExciamation
Попереджувальне повідомлення
64
vblnformation
Інформаційне повідомлення
Коди модальності вікна
0
vbApplicationModal
Програмне модальне
4096
vbSystemModal
Системне модальне
Щоб використовувати коди, приведені в таблиці. 1:
-
спочатку виберіть командну кнопку або кнопки, які необхідно відображувати. Потім, якщо ви вибрали більш за одну командну кнопку, слід визначити, яка з них буде активною за умовчанням. Командна кнопка, активна за умовчанням, автоматично вважається за ту, що натискує, якщо користувач після відображення діалогового вікна натискував клавіш" Enter. Коди, приведені в частці "Коди активності за умовчанням" таблиця. 1 дозволяють вказати, яка з командних кнопок (перша, друга або третя) буде активною за умовчанням. Командні кнопки поміщаються в діалогове вікно в тому ж порядку, в якому вони вказані в частці "Коди командних кнопок" таблиці. 1.
-
якщо ви хочете додати в діалогове вікно піктограму, вкажіть відповідний код з частки "Коди піктограм" таблиці. 1.
-
можна вирішити, чи буде діалогове вікно модальним. Якщо діалогове вікно не модальне, то користувач може перемкнутися на інше вікно, продовживши таким чином роботу з програмою без закриття діалогового вікна. Якщо ж діалогове вікно задане як модальне, то користувач повинен закрити його (завершити з ним роботу), перш ніж продовжувати роботу з даною програмою. Існують два типи модальних діалогових вікон — програмні модальні і системні модальні.
Користувач повинен закрити програмне модальне діалогове вікно, перш ніж продовжити роботу з програмою, що відображує це вікно; хоча в цьому випадку дозволяється перемкнутися на іншу програму, не закривши дане діалогове вікні Системне модальне діалогове вікно вимагає, щоб користувач закрив його, перш ніж робити що-небудь ще.
-
і нарешті, ви складаєте всі коди разом (для всіх командних кнопок і опцій), а потім використовуєте цю суму як аргумент функції MsgBox() для створення діалогового вікна.
Приклад. Створимо діалогове вікно, що включає командні кнопки Yes і No (друга буде активною за умовчанням), включити в діалогове вікно піктограму «Увага» і зробити це вікно програмним модальним, то для створення коду необхідно використовувати наступний набір вбудованих констант:
theCode = vbYesNo + vbDefaultButton2 + vbExclamation + _ vbAppliсationModal
який відповідає 4+ 256 + 48 + 0 = 308
Проте, щоб зробити код очевиднішим, слід використовувати пойменовані константи, а не числа.
Можна використовувати, наприклад, будь-який з наступних операторів MsgBox():
MsgBох prompt:="Bы дійсно хочете це зробити?", buttons:=theCode
MsgBох "Ви дійсно хочете це зробити?", theCode