Спливаючі форми і діалогові вікна

Ви, напевно, звернули увагу, що в Access, та й не тільки в ньому, існують такі вікна, які розміщуються на екрані поверх всіх інших вікон, навіть якщо в даний момент активним є інше вікно. Прикладом такого вікна є вікно Властивості (Properties) в Конструкторі форм. Ви теж можете в своєму додатку створювати форми такого типу. Вони називаються всгиивающімі формами.

Наприклад, якщо Головна кнопкова форма, з якої можна виконати основні дії в додатку, невелика і не закриває інші форми, її можна зробити спливаючій, щоб вона була доступна в будь-який час. На рис. 9.44 представлена ​​така форма, яка знаходиться поверх вікна бази даних, хоча воно є активним.

Щоб форма мала таку властивість, необхідно присвоїти значення Так (Yes) властивості Спливаюче вікно (Pop Up). Це властивість знаходиться на вкладці Інші (Other) вікна властивостей форми (рис. 9.45).

Звичайну форму можна також перетворити в модальное діалогове вікно, якщо властивості Модальне вікно (Modal) цієї форми задати значення Так (Yes). Модальна форма відрізняється тим, що поки вона відкрита, ви не можете перемістити фокус на інший об'єкт - форму, меню, кнопку панелі інструментів та ін. Т. Е. Інші об'єкти стають недоступними, доки не буде завершено роботу з даною формою і вона не буде закрита.

Модальні форми зазвичай використовуються для створення спеціальних діалогових вікон, які запитують у користувача деяку інформацію. Для того щоб виконувати інші завдання, користувач повинен ввести цю інформацію і закрити форму. Зазвичай в такому вікні встановлюють властивості Кнопка віконного меню (Control Box), Кнопки розмірів вікна (Min Max Buttons) і Кнопка закриття (Close Button) таким чином, що ці кнопки не відображалися в формі. Зате в самій формі створюють дві кнопки ОК і Відміна (Cancel). Кнопка ОК дозволяє виконати подальші дії і закриває форму. Кнопка Скасування закриває форму і виконує всі дії по перериванню виконуваної операції. Для цього створюють програми VBA або макроси, які пов'язують з подією Натискання кнопки (Click) кожної з цих кнопок (див. Також гл. 13).

Мал. 9.44. Спливна Головна кнопкова форма

Мал. 9.45. Установка значення властивості Спливаюче вікно

Зазвичай для спливаючих або модальних вікон змінюють значення властивості Тип кордону (Border Style), яке за замовчуванням має значення Змінна (Sizable). Для цього властивості у спливаючій форми зазвичай встановлюють значення Тонка (Thin). При цьому спливаючу форму можна переміщати по екрану, але не можна змінити її розміри. У модальної форми для властивості Тип кордону зазвичай встановлюють значення Вікна діалогу (Dialog). При цьому автоматично відключаються кнопки розмірів вікна (але кнопку закриття вам доведеться відключити вручну, якщо це потрібно), тому вона не може бути розгорнута на весь екран, згорнута в значок або просто змінена в розмірах.

Прикладом модального діалогового вікна є форма "Продажі по роках" (Sales by Year Dialog) в додатку "Борей" (Northwind) (рис. 9.46).

Мал. 9.46. Модальне діалогове вікно в додатку

Схожі статті