Идёт загрузка страницы...

htp://aptem.net.ru






На главную страничку учебника Visual Basic

Flash и Visual Basic

Macromedia Flash - одна из лучших программ, предназначенных для создания интерактивных фильмов и размещения их в Интернете. Для просмотра Flash роликов в браузере необходим ActiveX компонент. Также их можно просматривать и в отдельной программе - Stand Alone Flash Player. Но вы скажете: "А причём здесь Visual Basic?". А Visual Basic здесь может выступить в качестве контейнера для компонента ActiveX Flash! Т.е. вы можете написать свою программу на VB, в которой будет проигрываться Flash ролик! Да не просто проигрываться, а взамодействовать с программой!!! На следующей иллюстрации показана форма с загруженным Flash роликом:

После нажатия на кнопку Click ME происходит изменение Caption у формы на текст, введённый в окошке для ввода!

А теперь давайте посмотрим как это делается на самом деле.

Этап №1. Запускаем Macromedia Flash 4 (можно и 5, но я использовал четвёртый).

Создаём кнопку и текстовое поле (как это сделать - задача не этого документа). У текстового поля меняем свойство variable на "TextToVB". Далее создаём для кнопки обработчик события On_Release и вставляем такой код:

FS Command ("Hello_VB!", TextToVB)

Эта строчка посылает сообщение в программу контейнер (в нашем случае это Basic программа. Также в роли контейнера может выступать html документ и значение может быть передано коду на JavaScript). Теперь компилируем ролик в swf формат.

Этап №2. Создаём новый проект в VB. Лезем на вкладку Components... и из предложенного огромного списка ставим галочку на строчке Shockwave Flash. Теперь поместите компонент на форму. Задайте размер такой же, как и в откомпилированном ролике (в принципе, это делать не обязательно). Далее создайте кнопку на форме и вставьте в обработку клика такой код:

ShockwaveFlash1.Movie = App.Path & "\vb.swf"

Этой строчкой мы загрузим Flash фильм в компонент. При этом vb.swf должен находится в том же каталоге, где и exe файл программы. Теперь самое интересное. Создайте обработчик ShockwaveFlash1_FSCommand. Код в этом обработчике будет выполняться всякий раз, когда Flash фильм запускает команду FS Command. В нашем ролике она выполняется при щелчке мышкой на кнопке Click ME. В обработчик ShockwaveFlash1_FSCommand передаются 2 параметра: имя команды и параметры. В нашем случае имя - "Hello_VB!", а параметр - текст, введённый в текстовое поле. Итог:

Private Sub ShockwaveFlash1_FSCommand _
(ByVal command As String, ByVal args As String)
Form1.Caption = command & " : " & args
End Sub

Откомпилируйте и запустите программу. Понажимайте на копку Click ME. Вот и всё. Это был очень простой пример взаимодействия Flash и VB. Никто вам не запрещает создавать более сложные и интересные вещи! Творите!

Файлы для скачивания:

  1. Пример, использованный в этой статье
  2. ActiveX компонент Shockwave Flash 5.

На главную страничку учебника Visual Basic