(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Вызов анимированной заставки в 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.
Как правило, вызов этих функций помещается в правую часть оператора Set. В результате его выполнения объектное выражение возвращает ссылку на созданный объект, которая становится значением переменной. Синтаксис функции CreateObject:

CreateObject ("Имя_приложения.Имя_класса")

Функция GetObject имеет дополнительный параметр путь, который задает полный путь к файлу, содержащему ActiveX - объект.
Создадим пустую форму frmHide и создадим в ней процедуру открытие формы:

Private Sub Form_Open(Cancel As Integer)
Dim ppApp As Object
     Set ppApp = CreateObject("Powerpoint.Application")
     ppApp.Visible = True
     ppApp.Presentations.Open CurrentProject.Path & "\Заставка.pps"
End Sub

Как видно, полный путь к файлу презентации был получен при помощи CurrentProject.Path и имени файла. Если теперь запустить эту процедуру, то она в свою очередь запустит Powerpoint, а он покажет нам нашу заставку "Заставка.pps". Так как нам нужно, чтобы запуск происходил при открытии приложения, то запустим ее самым простым способом - через указания имени стартовой формы, в нашем случае это будет frmHide: Сервис - Параметры запуска - Вывод формы/страницы - frmHide . Заодно уберем все галочки, кроме "контекстные меню по умолчанию" - этим мы скроем почти все стандартные меню Access и само окно приложения, чтобы не мешало. Напомню, кто не знает: чтобы самому добраться до формы для редактирования (отобразить окно Access) нужно запускать приложение, удерживая Schift. Это так называемая "защита от дурака" в простейшем исполнении. Под "дураками" подразумеваются любопытные пользователи, которым интересно, что "внутри" программы, а так же наивные разработчики, думающие таким образом провести пользователей, и закрыть им доступ к окну Access. Schift уже давно не для кого не секрет, а вот чтобы нельзя было открыть при помощи Schift существует… "защита от Schift" - специальные программные модули, препятствующие этому, которые разумеется можно взломать другими программными модулями, которые чаще всего так и называют: "Взлом защиты от Schift". И тут уже все будет зависеть от уровня разработчиков: чей модуль "хитрее", тот и выиграл. Впрочем, мы отвлеклись, речь то ведь у нас была о запуске презентации Powerpoint.
Итак, стартовую форму указали, окно Access свернули. Запускаем приложение. Появляется заставка, идет анимация и…все. Дело в том, что в здесь не хватает еще одного важного момента: так управление было передано Powerpoint, то теперь нужно из Powerpoint запустить Access! Можно создать аналогичную процедуру в Powerpoint, ведь там тоже, как и во всех офисных приложениях, поддерживается VBA. Но мы поступим по другому: пусть Access закроет Powerpoint и запустит вторую стартовую форму (теперь уже "настоящую стартовую"). Для этого воспользуемся свойством формы Таймер и создадим еще одну процедуру в форме frmHide:

     Private Sub Form_Timer()
     Dim ppApp As Object
          Set ppApp = CreateObject("Powerpoint.Application")
          If ppApp.Visible = True Then
               ppApp.Quit
               DoCmd.Close acForm, Me.Form.Name
               DoCmd.OpenForm "frmStart"
          End If
     End Sub

Как видно, через нее закрывается приложение Powerpoint (ppApp.Quit), закрывается сама форма frmHide (потому я ее и назвал Hide) и открывается настоящая стартовая форма приложения - frmStart. Событие Таймер происходит с заданным интервалом (мс). Он задается в конструкторе формы frmHide - Интервал таймера. Я поставил 4500. Этого хватает для "прогона" анимации.

Пример, как это все работает, Вы можете скачать ниже.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 05.08.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft 365 Business Basic (corporate)
Microsoft Windows Professional 10, Электронный ключ
Microsoft 365 Apps for business (corporate)
Microsoft 365 Business Standard (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
CASE-технологии
Программирование на Microsoft Access
Corel DRAW - от идеи до реализации
3D и виртуальная реальность. Все о Macromedia Flash MX.
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100