Всплывающие формы и диалоговые окна
Вы, наверное, обратили внимание, что в Access, да и не только в нем, существуют такие окна, которые размещаются на экране поверх всех остальных окон, даже если в данный момент активным является другое окно. Примером такого окна является окно Свойства (Properties) в Конструкторе форм. Вы тоже можете в своем приложении создавать формы такого типа. Они называются всплывающими формами.
Например, если Главная кнопочная форма, из которой можно выполнить основные действия в приложении, небольшая и не закрывает другие формы, ее можно сделать всплывающей, чтобы она была доступна в любое время. На рис. 9.44 представлена такая форма, которая находится поверх окна базы данных, хотя оно является активным.
Рис. 9.44. Всплывающая Главная кнопочная форма
Чтобы форма обладала таким свойством, необходимо присвоить значение Да (Yes) свойству Всплывающее окно (Pop Up). Это свойство находится на вкладке Другие (Other) окна свойств формы (рис. 9.45).
Обычную форму можно также превратить в модальное диалоговое окно, если свойству Модальное окно (Modal) этой формы задать значение Да (Yes). Модальная форма отличается тем, что пока она открыта, вы не можете переместить фокус на другой объект – форму, меню, кнопку панели инструментов и пр., т. е. другие объекты становятся недоступными, пока не будет закончена работа с данной формой и она не будет закрыта.
Модальные формы обычно используются для создания специальных диалоговых окон, которые запрашивают у пользователя некоторую информацию. Для того чтобы выполнять другие задачи, пользователь должен ввести эту информацию и закрыть форму. Обычно в таком окне устанавливают свойства Кнопка оконного меню (Control Box), Кнопки размеров окна (Min Max Buttons) и Кнопка закрытия (Close Button) таким образом, что эти кнопки не отображались в форме. Зато в самой форме создают две кнопки ОК и Отмена (Cancel). Кнопка ОК позволяет выполнить дальнейшие действия и закрывает форму. Кнопка Отмена закрывает форму и выполняет все действия по прерыванию выполняемой операции. Для этого создают программы VBA или макросы, которые связывают с событием Нажатие кнопки (Click) каждой из этих кнопок (см. также гл. 13).