(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. Этого хватает для "прогона" анимации.

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

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


 Распечатать »
 Правила публикации »
  Обсудить материал в конференции Microsoft »
Обсудить материал в конференции Дизайн, графика, обработка изображений »
Написать редактору 
 Рекомендовать » Дата публикации: 05.08.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Visual Studio Professional w/MSDN AllLng Software Assurance OLP 1 License No Level Qualified
Microsoft System Center Standard Core Sngl License/Software Assurance Pack OLP 2Licenses NoLevel CoreLic Qualified
Microsoft SQL CAL 2017 Sngl OLP 1License NoLevel DvcCAL
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
Microsoft Visual Studio Professional 2017 Sngl OLP 1License NoLevel
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
CASE-технологии
Программирование на Microsoft Access
Новые материалы
3D и виртуальная реальность. Все о Macromedia Flash MX.
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
Обсуждения в форумах
Как заказчики обманывают наивных художников и дизайнеров (9)
Ни один уважающий себя деловой человек не будет бесплатно раздавать свою работу и тратить время...
 
Помощь по MS Access (332)
Доброе время суток. Случайно оказался на этом сайте, искал статьи по OLAP. Вижу, что...
 
3D редакторы, плюсы и минусы (3)
Одно из многих сотен бестолковых обобщений. Прости их господи, Васей Пупкиных
 
Беговая дорожка (1)
Купила беговую дорожку вот здесь https://4gym.com.ua/product/technogym-artis-run Очень классная,...
 
Отличается ли ДрифтКазино от беттинга? (12)
Друзья, давно заметил, что на Дрифте уже несколько месяцев во всю рекламируется и предлагается...
 
 
 



    
rambler's top100 Rambler's Top100