![]() |
Как узнать положение каретки в текстовом поле?
Все мы знаем(надеюсь) о существовании класса Selection, а у него — метода getCaretIndex(). Он хороший, но он возвращает значение с начала строки в поле. Это удобно, если текстовое поле однострочное. Но у меня многострочное поле и мне нужен номер строки, в которой находится каретка, а еще лучше — ее координаты на сцене.
Кто-нибудь сталкивался с этим? Как решать? Спасибо. |
Как часто надо узнавать? Теоретически есть способ с битмапдатой, но несколько раз в секунду наверно тяжеловато будет))
|
*артистично*
С битмапдатой? Да это же извращение! Рассказывайте поподробней. А классических |
Цитата:
|
Аксакалы говорили, что если, узнав положение каретки в строке и сделав предварительно весь текст белым, выделить из сего текста символ перед кареткой, а потом сфотать эту красоту в битмапдату, можно будет увидеть черный прямоугольник на белом фоне! Так говорят. Еще говорят, что знающие люди могут догадаться по форме этого прямоугольника, где была каретка - в точности до пикселя, чтоб мне провалиться! Говорят, они используют для этого инструмент с дьявольским названием getColorBoundsRect()! Я сказал всё что знаю.
А нет, не всё. Номер строки можно узнать maxscroll-ом, но чето он гонит ошибку. |
Клевый способ. Мне нравится. Нет, правда. Спасибо за него.
А еще варианты есть? maxscroll'ом можно количество строк узнать, а не номер строки. |
Цитата:
Пока не поборол(((( |
Нужно знать что содержит твое поле. Например если бы каждая строка заканчивалась переводом строки то все было бы легко -_-
|
Цитата:
Код:
private function correctSting(str){Цитата:
|
Ну также можно поле сделать однострочныйм туда забить весь текст, затем сделать селекшен и посмотреть значение scroll >_<
|
| Часовой пояс GMT +4, время: 16:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.