Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.10.2012, 14:33
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 1  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Post Spark TextArea. Установка курсора в нужную позицию по правому клику

Тема связана немножко с предыдущим постом (http://www.flasher.ru/forum/showthread.php?t=185425). Решения для spellcheckerа я нашёл, по готовности - поделюсь.

Значит задача состоит в следующем. Поскольку правый клик для TextArea очень своебразный - нашёл я таки способ его обойти и сделать своё контекстное меню.

Правый клик обходится через код:
Код AS3:
protected function onRightTextClick(event:MouseEvent):void
{
    if((to_send.textDisplay as RichEditableText) != null && (to_send.textDisplay as RichEditableText).contextMenu != null) {
    ((to_send.textDisplay as RichEditableText).contextMenu as ContextMenu).hideBuiltInItems();
   ((to_send.textDisplay as RichEditableText).contextMenu as ContextMenu).clipboardMenu = false;
 
//далее создаем нативное меню
}
to_send - дебаговое название TextArea.

Так вот. Существует ли возможность поставить текущую позицию курсора TextArea в место, куда я чкнул правой кнопкой мыши? Чую без велосипеда или костылей мне не обойтись, в виду незнания сей темы.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 24.10.2012, 18:44
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 2  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
Тут написали про вот это. Этот ивент вроде до появления меню диспатчится, по идее можно отловить координаты, ну и в s:TextArea вроде можно узнать что за символ находится по этим координатам.

Старый 25.10.2012, 14:09
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 3  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Не, это не катит, потому что меню моё. А позиция курсора не устанавливается. Ибо тема связана с постом, указанным в стартовом сообщении.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 25.10.2012, 14:28
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 4  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Не очень понял - нужно просто поставить курсор в TextArea по правому клику?
Не пробовал:
1. Найти место клика можно попробовать через textArea.measure() они там разные.
2. Поставить курсор textArea.selectionBeginIndex и textArea.selectionEndIndex.
__________________
In Code We Trust

Старый 25.10.2012, 14:37
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 5  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
measureText() Does not work for Spark components since they don't use UITextField

textArea.selectionBeginIndex и textArea.selectionEndIndex - ну я ж не знаю куда мне ставить его, если я не знаю куда юзер тыкнул.

Узнать позицию и пропорции текстового поля. Рассчитать относительно него позицию курсора, посмотреть на какую строку попадает, зная ширину/высоту буквы, нееее Я не готов к таким пляскам

Добавлено через 1 минуту
Ааа, апдейт: measure просто есть.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 25.10.2012, 17:19
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 6  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
Ну если у вас есть MouseEvent (кстати как вы ловите MouseEvent правого клика? у вас AIR приложение?), можно же достать координаты мыши в тот момент, расчитать позицию курсора относительно поля и достать символ на той позиции.

Старый 25.10.2012, 17:24
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 7  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
О чем я и говорю, что без костыля нормально не поставишь.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 25.10.2012, 18:15
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 8  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
Да, точно, привык к getCharIndexAtPoint()
Придётся лезть в TLF.

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
cursor position , rightclick , spark , TextArea

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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