|
|
|||||
Регистрация: Feb 2004
Адрес: Россия, Ульяновск
Сообщений: 19
|
А можно события посылать ?...
Уважаемые мастера !
Пожалуйста, подскажите, как события в операционную систему послать ? (WM_PAINT, WM_CLOSE, WM_MINIMIZE мне надо) и как поймать HANDLE нужного окна через ActionScript ?.. Заранее всем спасибо ! |
|
|||||
Регистрация: Feb 2004
Сообщений: 36
|
Они тут мало знают о программировании, к сожелению. Меня тоже интересовал этот вопрос. Все что удалось выяснить (кстати, на программерском форуме rsdn.ru), что взаимодействие flash с приложением возможна только через FSCommand(command, args), посылаемых из flash-мувика и ловящимися через событийный интерфейс (_IShockwaveFlashEvents для C++). Другого способа я еще не нашел
Если, вдруг, что-то найдешь другое - кидай, хотябы сюда |
|
|||||
Регистрация: Feb 2004
Сообщений: 36
|
Что-то я поторопился немного.
Эти события (WM_PAINT, WM_CLOSE, WM_MINIMIZE), а точнее сообщения, должно возвращать окно, в котором поднят flash_activex, если я правильно понимаю их назначение и область использования. А вот на счет WM_PAINT не уверен вообще. Зачем нужна обработка этого месаджа? А на счет хендла окна я вообще не понял. Откуда его нужно ловить? Последний раз редактировалось Deviant; 12.02.2004 в 21:28. |
|
|||||
примерно так: в swf - fscommand("clsApp");
в обработчике OnFSCommand(LPCSTR cmdBuf, LPCSTR szArgsBuf) в сях:
__________________
flash portfolio |
|
|||||
Регистрация: Feb 2004
Адрес: Россия, Ульяновск
Сообщений: 19
|
OnFSCommand - это что ? А если флешка открыта в объекте типа tWebBrowser (Delphi) ? тогда как ?
|
|
|||||
Цитата:
А на счет Delphi я в нем не силен, незнаю. Ищи ф-ю похожую на описанную выше и имеющую два параметра
__________________
flash portfolio Последний раз редактировалось toFlash; 16.02.2004 в 11:24. |
|
|||||
Регистрация: Feb 2004
Сообщений: 36
|
В Делфе все будет точно так же, если ты будешь использовать ActiveX flash-компонент. А ты, как я понимаю, открываешь флеш-мувик через TWebBrowser, который просто умеет ее воспроизвести правильно. Он доступа к управлению flash тебе не даст, разве что, давать ему на загрузку хтмль-ый файл где поднимаеться эта флэшка и есть наобходимый код для ее нормального фунциклирования (но это уже из области программирования для Web). Если же ты хочень иметь какие-то элементарные функции управления и взаимодействия с flah-мувиком, используй TShockwaveFlash или что-то похожее, импортируемое из ActiveX-го компонента Flash. Подробнее ищи о взаимодействии Delphi и Flash в инете.
Во вложении небольшой help. |
|
|||||
Регистрация: Feb 2004
Адрес: Россия, Ульяновск
Сообщений: 19
|
Это все хорошо, но задача такова:
Форма Дельфи, на ней TWebBrowser, а в нем - флешка. Нажимаешь на флешке кнопку и все закрывается (например, послать событие WM_CLOSE дельфовому окну). Какие будут предложения ?... |
|
|||||
Регистрация: Feb 2004
Сообщений: 36
|
А как ты соеденяешь флэку с TWebBrowser? Я, хоть и работал с Delphi, но использовать TWebBrowser не приходилось.
В любом случаем, кроме варианта с html-ым файлом, другого ничего не вижу. При условии, что эту флешку написал ты, иначе этот способ не поможет. Способ, как я уже говорил, заключается в том, что во флешке, при нажатии на кнопочку, ты через FSCommand отсылаешь какую-нибудь условную команду "delphi_zakroysa" . Потом пишешь html'ку, которая эту флэшку загружает и может обработать твою команду "delphi_zakroysa". Обработка этой команды должна заключаться в посылке уже библиотечной функции JS - функции закрытия окна эксплорера, где эта функция описана. Теперь, теоретически (не знаю, не пробовал), что-то должно произойти в TWebBrowser. Он или получит сам сообщение на закрытие или получит какое-нибудь сообщение на закрытие окна html, которое в нем было(c flash). Повторяю - я это только так себе представляю, а будет ли реально TWebBrowser как-то реагировать на то, что внутри него была запущена на исполнение команда JS на закрытие, я не знаю. Так вот, если будет, то теперь без проблем обрабатываешь уже событие от TWebBrowser и делаешь Close всей форме (разумееться, предусмотрев все необходимые прверки, чтобы это событие не сгенерировалось при закрытии TWebBrowser по завершению работы программы). Если это все будет работать - тебе повезло, другого способа я не вижу (в случае использования TWebBrowser). Если флешка чужая и ни каких сообщений при нажатии на кнопку наружу не посылает, то тут уже ничего не поможет. Ей можно только любоваться. |
|
|||||
Регистрация: Mar 2004
Сообщений: 5
|
Не понятно, на кой тебе здался TWebBrowser. Тебе именно он нужен? Просто использование TShockwaveFlash не подойдет?
Если без TWebBrowser, то можно отловить нажатие на всем мувике. Как это сделать можно глянуть у TShockwaveFlashEx |
Часовой пояс GMT +4, время: 09:47. |
|
« Предыдущая тема | Следующая тема » |
|
|