![]() |
Zinс 3: обработчик событий мыши в дочерней форме срабатывает в главной
Имеем две формы: главную и дочернюю. При открытии приложения видна главная форма, а дочерняя скрыта. Она становится видимой по нажатию на специальную кнопку. Главная, соответственно, скрывается. В дочерней форме назначен такой обработчик событий мыши:
Код AS1/AS2:
|
Занятный глюк. Жаль нет времени заниматься его воспроизведением у себя.
А как вы показываете дочернюю форму? Она у вас модальная или нет? И еще такой момент: вы ведь зашили в дочернюю форму отдельный свф, так? Так вот, лучше будет, если все действия в клипе-дочерней-форме вы будете вызывать принудительно с помощью метода Код:
mdm.Forms.formName.callFunction(functionName:String, parametersString:String, delimiter:String)Я делал так: "показывал" дочернюю форму сразу при старте приложения где-то в сторонке, типа x=-50000. При этом в нее загружался ее свф, но НЕ ПРОИГРЫВАЛСЯ, там не было ничего, кроме набора функций, вызовов их не производилось. Перед показом дочерней формы из главной делал callFunction в дочерней, указывая что надо приграть конкретно, т.е. какую функцию отработать. И показвал ее модально. При этом в главной форме все замирает. На финише отработки скриптов в дочерней форме, перед ее закрытием делал Код:
mdm.Forms.MainForm.callFunction()Насчет сокрытия курсора - можно, как вариант, использовать Код:
mdm.Input.Mouse.hide(formName) |
Дочерняя форма не модальная. И, честно говоря, как-то не совсем я разобрался с модальными формами в цинке. Но, тем не менее, некоторые ваши, alexcon314, рекомендации, оказались плодотворными. Сделал я следующее: весь свой вышеприведенный мышиный обработчик поместил в тело новой функции mouseEventInit(), которая вызывается теперь
Код AS1/AS2:
Код AS1/AS2:
Кстати, раз уж зашла речь о модальных формах, нельзя ли привести для общего развития пару строчек кода корректного создания (показа-сокрытия) модальной формы? Пытался открывать дочернюю форму из главной командой mdm.Forms.SubForm1.showModal(), но потом при закрытии ее не хотела показываться (mdm.Forms.MainForm.show()) главная. А если и главную визуализировать как модальную, она показывается, но не реагирует ни на мышь, ни на клавиатуру. И потом, что это за конструкция из мануала Код AS1/AS2:
|
Показывать главную форму модально не имеет смысла, можно, конечно, придумать ситуацию, когда именно главная форма должна висеть поверх всех других окон и лочить инпут только на себя, но это уж.. как-то слишком.
Что касается кода, то вот: Код:
// MainForm codeВозможно, будет работать и в том случае, если вместо "ok" или других валидных строк в mdm.Application.exitWithModalResult() подставлять произвольную строку. Не проверял или забыл уже. |
Ну, теперь я вижу, что в моем случае применение модальных форм не является необходимостью. Спасибо, alexcon314. Ваши пояснения действительно оказались весьма полезны.
|
| Часовой пояс GMT +4, время: 19:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.