Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Context Menu (http://www.flasher.ru/forum/showthread.php?t=153671)

Sergii 07.04.2011 15:11

Context Menu
 
Добрый день, у меня такой вот вопрос ! хочу для своего редактора добавить контекстное меню, к примеру ... я уже реализовал что бы по клику правой кнопки мыши появлялось меню, и были функции .. копировать, вставить и т.д. ... но я не знаю как создать замену выделенного элемента в текстовом поле на выбранное значение из списка ...


к примеру у меня есть text input в котором написано "Hello World" При выделении элемента строки например "W" и при нажатии на нем правой кнопкой мыши в выпадающем меню должен появиться пункт "Special Characters", при нажатии на нем выпадал список спец символов (записанных в XML файле) и выбранные спец символ что бы заменял выделенный в text input текст !

alatar 07.04.2011 18:11

Во флеш-плеере нельзя создавать иерархические контекстные меню. Можете по событию ContextMenuEvent.MENU_ITEM_SELECT создавать контейнер со спецсимволами.

Sergii 07.04.2011 19:40

мне и не нужно делать иерархические меню )
нужно именно так как вы сказали ...
Вы не могли бы подсказать документацию как именно это сделать ?!
Или пример кода ...
Нужно именно так .. что бы при нажатии показывался контейнер с символами, и при нажатии на символ он ставился в Text Input вместо выделенного текста !

alatar 07.04.2011 19:45

http://help.adobe.com/ru_RU/AS3LCR/F...0.0/index.html

Добавлено через 2 минуты
http://help.adobe.com/ru_RU/FlashPla...ActivePosition

Sergii 07.04.2011 20:23

как я понял это с помощью привязки данных делается да ?!
что бы выбранный символ вставал вместо выделенного !

alatar 07.04.2011 20:25

Нет, просто запрашиваете с какого по какой символ выбраны и заменяете.

P.S. Что вы подразумеваете под привязкой данных?

Sergii 07.04.2011 21:42

это не то написал ... извиняюсь !
ну вот я вычитал как сделать запрос с какого по какой выделены символы .. а что сделать что бы тот символ который я выбрал вставлялся вместо выделенных ?!

alatar 07.04.2011 23:10

http://help.adobe.com/ru_RU/FlashPla.../3/String.html

Sergii 11.04.2011 15:54

Подскажите как привязать ContextMenu к TextInput ???


Ставлю так
Код:

<?xml version="1.0" encoding="utf-8"?>
<s:Application name="Spark_Application_contextMenu_test"
                          xmlns:fx="http://ns.adobe.com/mxml/2009"
                          xmlns:s="library://ns.adobe.com/flex/spark"
                          xmlns:mx="library://ns.adobe.com/flex/halo"
                          initialize="init();" xmlns:mx2="library://ns.adobe.com/flex/mx">
       
        <fx:Script>
                <![CDATA[
                       
                        private var cm:ContextMenu;
                       
                        private function init():void {
                                var showSelection:ContextMenuItem = new ContextMenuItem("Show selection");
                                showSelection.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, showSelection_menuItemSelect);
                               
                                cm = new ContextMenu();
                                cm.hideBuiltInItems();
                                cm.customItems.push(showSelection);
                                myTextInput.ContextMenu = cm;
                        }
                       
                        private function showSelection_menuItemSelect():void {
                                txt.visible = true;
                        }

                ]]>
        </fx:Script>
       
        <s:TextInput
                x="422"
                y="270"
                width="300" text="Hello Sergi, How are you ? :)" id="myTextInput" />
        <s:Label id="txt" visible="false" x="333" y="275" text="Text here &gt;" width="93" fontStyle="normal" fontWeight="bold" fontSize="16"/>
        <s:Button x="259" y="269" label="Кнопка"/>
       
</s:Application>

Не работает !

alatar 11.04.2011 16:36

Код AS3:

myTextInput.textDisplay.contextMenu = cm;



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

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