![]() |
|
||||||||||
|
|||||
|
Добрый день. Возможно ли в компоненте TextArea реализовать переход на определенную строку по содержимому, а не только по номеру строки, или хоть как-то связать их между собой. Был реализован метод с массивом "якорей"-индексов строк, но экземпляр текстАрии может изменять пропорции, длина строк тоже изменяется, и соответственно, сбиваются индексы...
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Я не точно выразился, нужен не просто поиск, а именно прокрутка компонента на нужное место в тексте.
|
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
А, нужно еще и получить номер строки с найденным фрагментом?
Это просто. Бъете текст пополам String.indexOf() Вставляете в текстовое поле только первую половину текста. TextField.maxscroll запоминаете номер строки Вставляете вторую половину текста. TextField.scroll перематываете на нужное место. PS я не знаю как там в дефолтном компоненте адобовском сделано, т.к. компоненты я делаю сам и вам советую. |
|
|||||
|
Регистрация: Apr 2007
Сообщений: 1,369
|
Самое простое:
ta - TextArea; b - MovieClip q - Input TextField, сюда пишем слово или сочетание слов, которое хотим найти; ta.setSize(200, 100);
ta.text = "The following example creates a window and then defines a complete handler that resizes the window to fit its contents. It uses the content property to reference the width of the window's movie clip content. You drag a Window component from the Components panel to the current document's library, and then add the following code to Frame 1: Returns the floor of the number or expression specified in the parameter x. The floor is the closest integer that is less than or equal to the specified number or expression."
b.onPress = function(){
var index = ta.text.indexOf(q.text);
var a:Number = (Math.floor(ta.text.length/ta.maxVPosition));
var cur:Number = Math.floor(index/a);
ta.vPosition = cur;
Selection.setFocus("ta");
Selection.setSelection(index, index+q.length);
}
__________________
john Последний раз редактировалось Molecula; 04.05.2008 в 19:36. |
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Цитата:
![]() Главное человеку понять принцип, так сказать ноу-хау. |
|
|||||
|
Всем спасибо, выстроил-таки, на основе ответов, функцию для корректного перехода и скроллинга по ключевым словам! Вроде даже работает )))
|
![]() |
![]() |
Часовой пояс GMT +4, время: 00:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|