Просмотр полной версии : RichTextEditor, контекстное меню.
Необходимо реализовать SpellChecker для проверки вводимого текста. Реализация проверки слов уже реализована. Нужно, при нажатии на выделенном слове правой кнопкой мыши, чтобы в контекстном меню появлялся список слов из словаря замены.
Заполнить меню нужными словами из словаря не проблема -
Вопрос: как отловить нажатие правой кнопки мыши для этого компонента, когда курсор находится в состоянии для ввода текста или где "отыскать" событие, которое отвечает за вывод контекстного меню компонента.
Чесно, в AS3 не пробовал, но в AS2 это событие было бы KeyboardEvent.KEY_DOWN и keyCode соответственно 2...
Если честно, не могу понять, при чём тут события от клавиатуры к правому клику мыши. Если бы мне нужно было узнать код клавиши контекстного меню, я бы в обработчике KEY_DOWN прописал бы - trace(keyCode) и мне бы выдало - 92, код клавиши контекстного меню на клавиатуре. Проблема только в том, что мне нужен клик мыши + клавиша контекстного меню клавиатуры в RichTextEditor не работает.
Добавлено через 21 минуту
Вот тут можно посмотреть на то, чего я хочу добиться:
http://flashden.net/item/simple-flash-spell-checker-v20-as3/24579
Вводите слово, если его подчёркивает, значит такого слова нет в словаре. Клацаем правой кнопкой мыши на нём, в контекстном меню видим варианты замены.
он ошибся.
такая же прослушка есть и у мышки.
там используешь кнопку 2.и все.
и будет ВСе .
Если честно, не могу понять, при чём тут события от клавиатуры к правому клику мыши. Если бы мне нужно было узнать код клавиши контекстного меню, я бы в обработчике KEY_DOWN прописал бы - trace(keyCode) и мне бы выдало - 92, код клавиши контекстного меню на клавиатуре. Проблема только в том, что мне нужен клик мыши + клавиша контекстного меню клавиатуры в RichTextEditor не работает.
Кнопка мыши - тоже кнопка.
Вот решение моей проблемы. Детали синтаксиса Flex опущены:
var richContextMenu:ContextMenu = new ContextMenu();
richContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, eventRichContextMenu);
rteInput.contextMenu = richContextMenu;
function eventRichContextMenu(e:ContextMenuEvent):void
{
Alert.show("Right click. Context menu opened.");
}
<mx:RichTextEditor id="rteInput" x="201.5" y="178"> </mx:RichTextEditor>
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.