Всплывающие формы и диалоговые окна
Вы, наверное, обратили внимание, что в 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. Модальное диалоговое окно в приложении