Повторно используемый код события keydown - как я могу написать его один раз и использовать в любом месте моего приложения Flex - PullRequest
1 голос
/ 05 апреля 2011

Я новичок в Flex Framework.

Я создал приложение, использующее Flex Framework 4.1, в котором есть различные компоненты, которые отображаются конечному пользователю в виде всплывающего окна с использованием <mx:TitleWindow>.

Это окно заголовка также закрытопо нажатию кнопки закрытия (отображается в заголовке) или по нажатию клавиши «Escape» на клавиатуре.

Я закодировал функцию, в которой я закрываю текущее окно TitleWindow при каждом нажатии кнопки «escape».Вот что я сделал.
На событии keydown TitleWindow я вызвал эту функцию

private function detectescapekeypress(event:KeyboardEvent):void
{
    if(event.charCode == Keyboard.ESCAPE)
       PopUpManager.removePopUp(this);
}

Но эта функция не работает, когда я определяю ее на главном домашнем экране моего приложения.и вызвать его, используя parentApplication.detectescapekeypress(event) для события keydown TitleWindow

Мне пришлось повторять этот код для каждого окна TitleWindow, которое я использовал в проекте.

Как мне написатьвышеупомянутые функциональные возможности только один раз и повторно использовать его среди различных TitleWindow и других компонентов, чтобы код для одного и того же кода не повторялся для разных компонентов?

Примечание. Каждое используемое мной TitleWindow имеет различный код, сценарии и макетэто.

Спасибо

1 Ответ

4 голосов
/ 05 апреля 2011

Почему бы вам просто не расширить компонент TitleWindow и не добавить эту функциональность в новый пользовательский компонент?Затем используйте его везде вместо исходного TitleWindow.

Я предполагаю, что вы используете как минимум SDK 4.1. Создайте новый mxml-файл с именем, например, CustomTitleWindow.mxml и вставьте следующий http://www.copypastecode.com/68211/

Затем измените все окна заголовка на CustomTitleWindow.

PS Обратите внимание, что для отправки ключевого события компонент должен иметь фокус.

blz

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...