Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   RichTextEditor, контекстное меню. (http://www.flasher.ru/forum/showthread.php?t=128840)

Касеал 18.08.2009 20:28

RichTextEditor, контекстное меню.
 
Необходимо реализовать SpellChecker для проверки вводимого текста. Реализация проверки слов уже реализована. Нужно, при нажатии на выделенном слове правой кнопкой мыши, чтобы в контекстном меню появлялся список слов из словаря замены.
Заполнить меню нужными словами из словаря не проблема -
Вопрос: как отловить нажатие правой кнопки мыши для этого компонента, когда курсор находится в состоянии для ввода текста или где "отыскать" событие, которое отвечает за вывод контекстного меню компонента.

wvxvw 18.08.2009 20:49

Чесно, в AS3 не пробовал, но в AS2 это событие было бы KeyboardEvent.KEY_DOWN и keyCode соответственно 2...

Касеал 20.08.2009 11:18

Если честно, не могу понять, при чём тут события от клавиатуры к правому клику мыши. Если бы мне нужно было узнать код клавиши контекстного меню, я бы в обработчике KEY_DOWN прописал бы - trace(keyCode) и мне бы выдало - 92, код клавиши контекстного меню на клавиатуре. Проблема только в том, что мне нужен клик мыши + клавиша контекстного меню клавиатуры в RichTextEditor не работает.

Добавлено через 21 минуту
Вот тут можно посмотреть на то, чего я хочу добиться:
http://flashden.net/item/simple-flas...-v20-as3/24579
Вводите слово, если его подчёркивает, значит такого слова нет в словаре. Клацаем правой кнопкой мыши на нём, в контекстном меню видим варианты замены.

Dezar 20.08.2009 11:42

он ошибся.
такая же прослушка есть и у мышки.
там используешь кнопку 2.и все.
и будет ВСе .

wvxvw 20.08.2009 12:20

Цитата:

Сообщение от Касеал (Сообщение 844123)
Если честно, не могу понять, при чём тут события от клавиатуры к правому клику мыши. Если бы мне нужно было узнать код клавиши контекстного меню, я бы в обработчике KEY_DOWN прописал бы - trace(keyCode) и мне бы выдало - 92, код клавиши контекстного меню на клавиатуре. Проблема только в том, что мне нужен клик мыши + клавиша контекстного меню клавиатуры в RichTextEditor не работает.

Кнопка мыши - тоже кнопка.

Касеал 20.08.2009 14:15

Вот решение моей проблемы. Детали синтаксиса 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>



Часовой пояс GMT +4, время: 12:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.