![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2008
Адрес: пока еще здесь
Сообщений: 198
|
У текстового поля (класс TextField) есть метод replaceSel, позволяющий заменить выделенный кусок текста заданной строкой:
this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 320, 240); my_txt.border = true; my_txt.wordWrap = true; my_txt.multiline = true; my_txt.type = "input"; my_txt.text = "Select some sample text from the text field and then right-click/control click " + "and select 'Enter current date' from the context menu to replace the " + "currently selected text with the current date."; var my_cm:ContextMenu = new ContextMenu(); my_cm.customItems.push(new ContextMenuItem("Enter current date", enterDate)); function enterDate(obj:Object, menuItem:ContextMenuItem) { var today_str:String = new Date().toString(); var date_str:String = today_str.split(" ", 3).join(" "); my_txt.replaceSel(date_str); } my_txt.menu = my_cm; Как ни пробовал - ничего не получается. Может, это как-то можно связать с расположением курсора? или лучше попробовать создать виртуальное поле, и обмениваться с ним данными для TextArea? Последний раз редактировалось Seroy; 03.03.2010 в 18:03. |
|
|||||
|
Регистрация: Jun 2008
Адрес: пока еще здесь
Сообщений: 198
|
Пока остановился на стадии тегов из контекстного меню (каково, а?!), штук 5-6, в виде кода, сохраняемого для php; см. картинку ниже.
![]() |
|
|||||
|
listener
|
Неоторые замечания общего плана, поскольку вы неоднократно постили вопросы по компонентам. Возможно, ничего нового для вас тут нет, но все же.
Любой компонент из восьмого флэша базируется на простых классах. В частности, TextArea обязательно содержит TextField в своих недрах. Если вы доберетесь до него, то, подозреваю, вы сможете делать replaceSel(), как у обычного текстфилда. Собственно, нужно взять исходник TextArea.as, вдумчиво его просмотреть, и, даже как вариант пересобрать из сорсов уже под свои нужды. Но во многих случаях хватает переопределения методов/свойств компонента или даже обращения к "недокументированным" свойствам/методам. Начать копать компонент полезно с такого кода: Вообще, компоненты восьмого флэша не самый хороший конь для езды. Но, за неимением гербовой, пишем на простой .Добавлю, что процесс копания может несколько затянуться, зависит от опыта и ретивости. Вобщем, задачка на желающего. Последний раз редактировалось alexcon314; 04.03.2010 в 13:02. |
|
|||||
|
Регистрация: Jun 2008
Адрес: пока еще здесь
Сообщений: 198
|
Цитата:
![]() спасибо за подсказку - просмотрел trace'ровку свойствTextArea. Действительно, глубоко закопано. ![]() Свойство TextField называется... focusTextField. И метод replaceSel() вполне работает. Спасибо! ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|