Вызов анимированной заставки в AccessИсточник: accessoft
В этой статье рассмотрим простой пример, как сделать свое приложение Access более привлекательным. Речь конечно же пойдет о спец. эффектах. Вообще, для того, чтобы при запуске базы данных вместо стандартной заставки с надписью "Access XXX ..." вывести любую свою картинку, достаточно поместить ее в формате BMP в ту же директорию и с тем же именем, что и файл базы данных. Например, для базы "C:\MyBase\base.mdb" нужен файл "C:\MyBase\base.bmp". Но сейчас рассмотрим процесс открытия приложения, и попробуем его "перехватить" и запустить анимированную заставку. В качестве последней будет выступать презентация PowerPoint. Сначала создадим саму заставку - презентацию PowerPoint. Открываем PowerPoint, и выбираем в меню "Общие шаблоны" понравившиеся. Я, например, выбрал "Океан". Выделяем "Заголовок слайда" и пишем свой текст. Аналогично "Подзаголовок слайда". Форматирование такое же, как и Word. Теперь сделаем анимацию - собственно, поэтому слайд и называют презентацией. Для этого выделяем текст, к которому хотим применить анимацию, и выбираем Показ слайдов - Настройка анимации - Добавить эффект. Далее, думаю, нет смысла объяснять. Осталось теперь только сохранить все это как презентацию (.pps) - например "Заставка.pps". Для запуска из Access полученного "шедевра" воспользуемся технологией ActiveX. Технология ActiveX обеспечивает взаимодействие приложений - Автоматизацию (Automation), при которой одно приложение управляет работой другого. Чтобы начать работу с ActiveX - объектом, нужно объявить соответствующую переменную, создать сам объект и связать переменную с объектом. Одним из способов выполнения этой работы является использование спецификатора New в операторе объявления переменных: Dim <имя переменной> As New <имя приложения.имя класса> Однако более универсальным способом создания ActiveX - объектов является вызов специальных функций CreateObject и GetObject. CreateObject ("Имя_приложения.Имя_класса") Функция GetObject имеет дополнительный параметр путь, который задает полный путь к файлу, содержащему ActiveX - объект. Private Sub Form_Open(Cancel As Integer) Как видно, полный путь к файлу презентации был получен при помощи CurrentProject.Path и имени файла. Если теперь запустить эту процедуру, то она в свою очередь запустит Powerpoint, а он покажет нам нашу заставку "Заставка.pps". Так как нам нужно, чтобы запуск происходил при открытии приложения, то запустим ее самым простым способом - через указания имени стартовой формы, в нашем случае это будет frmHide: Сервис - Параметры запуска - Вывод формы/страницы - frmHide . Заодно уберем все галочки, кроме "контекстные меню по умолчанию" - этим мы скроем почти все стандартные меню Access и само окно приложения, чтобы не мешало. Напомню, кто не знает: чтобы самому добраться до формы для редактирования (отобразить окно Access) нужно запускать приложение, удерживая Schift. Это так называемая "защита от дурака" в простейшем исполнении. Под "дураками" подразумеваются любопытные пользователи, которым интересно, что "внутри" программы, а так же наивные разработчики, думающие таким образом провести пользователей, и закрыть им доступ к окну Access. Schift уже давно не для кого не секрет, а вот чтобы нельзя было открыть при помощи Schift существует… "защита от Schift" - специальные программные модули, препятствующие этому, которые разумеется можно взломать другими программными модулями, которые чаще всего так и называют: "Взлом защиты от Schift". И тут уже все будет зависеть от уровня разработчиков: чей модуль "хитрее", тот и выиграл. Впрочем, мы отвлеклись, речь то ведь у нас была о запуске презентации Powerpoint. Private Sub Form_Timer() Как видно, через нее закрывается приложение Powerpoint (ppApp.Quit), закрывается сама форма frmHide (потому я ее и назвал Hide) и открывается настоящая стартовая форма приложения - frmStart. Событие Таймер происходит с заданным интервалом (мс). Он задается в конструкторе формы frmHide - Интервал таймера. Я поставил 4500. Этого хватает для "прогона" анимации. Пример, как это все работает, Вы можете скачать ниже. |