Вверх ↑
Этот топик читают: Гость
Ответов: 122
Рейтинг: 2
#1: 2013-12-18 17:34:31 ЛС | профиль | цитата
есть:

1) "Memo"(редактор текста) с ReadOnly=false и AddType=Last
2) Много последовательных строк, которые хотят добавиться в Memo
3) Относительно не сильно кривые руки


надо:

1) шоб при добавлении следующей строки всё дружно скролилось вниз. (тоесть уже есть 50 строк и тут ещё одна прилетает в Memo и Memo скролит до "видимости"(чтобы было видно) последней строки)
* 2) при скроллинге человеком и далнейшем добавлении строки позиция скроллинка оставалась
* 3) при добавлении строки, каретку(курсор) не перемещать в началоконец, а оставлять в "кастомном" положении


* - второстепенные задачи, если сложно, скучно, лениво или по вашему мнению невозможны можно не выполнять или подкинуть идею к решению проблемы :3
карма: 0

0
Ответов: 8930
Рейтинг: 823
#2: 2013-12-18 17:49:57 ЛС | профиль | цитата
Alex_P, а для кого файл *.ini и куча точек
Memo.ini писал(а):

...
*doEnsureVisible=Делает скроллинг текста для видимости каретки ввода|1|
...
*EndIdx=Содержит индекс последней строки в списке|3|1
..

Когда же перед задаванием вопроса на форуме зададим вопрос себе: "А всё-ли я прочитал?"
карма: 19

0
Ответов: 1343
Рейтинг: 31
#3: 2013-12-18 19:09:01 ЛС | профиль | цитата
просто возьми HilightMemo он сам автоматом скролит по видимости


Add(MainForm,2953706,21,105)
{
link(onCreate,10329092:doTimer,[(89,125)(89,139)])
}
Add(HilightMemo,1189350,203,133)
{
Left=55
Top=15
Width=145
Height=195
Font=[Courier New,8,0,0,1]
HilightFont=[Courier New,8,0,0,1]
}
Add(Timer,10329092,112,133)
{
Interval=100
link(onTimer,5672238:doNext,[])
}
Add(CounterEx,5672238,154,133)
{
Max=9999
link(onNext,1189350:doAdd,[])
}
------------ Дoбавленo в 19.09:
Леонид писал(а):
...
*doEnsureVisible=Делает скроллинг текста для видимости каретки ввода|1|
...
*EndIdx=Содержит индекс последней строки в списке|3|1



а это вроде не работает...

я уже скоко раз пытался делать скроллинг вниз с простым memo так и не вышло

Add(MainForm,2953706,21,105)
{
link(onCreate,10329092:doTimer,[(89,125)(89,139)])
}
Add(Timer,10329092,112,133)
{
Interval=100
link(onTimer,5672238:doNext,[])
}
Add(CounterEx,5672238,154,133)
{
Max=9999
link(onNext,7585257:doEvent1,[])
}
Add(Memo,6668261,364,133)
{
Left=10
Top=10
Width=265
Height=235
ScrollBars=2
Point(doEnsureVisible)
Point(EndIdx)
}
Add(Hub,7585257,231,133)
{
link(onEvent1,6668261:doAdd,[])
link(onEvent2,6260291:doData,[(263,146)(263,181)])
}
Add(DoData,6260291,287,175)
{
link(onEventData,6668261:doEnsureVisible,[])
link(Data,6668261:EndIdx,[(293,163)(342,163)(342,197)(391,197)])
}
карма: 2

0
Ответов: 8930
Рейтинг: 823
#4: 2013-12-18 20:42:06 ЛС | профиль | цитата
Rysik, просто читаем книгу, а видим бабу Читаем ещё раз:
*doEnsureVisible=Делает скроллинг текста для видимости каретки ввода|1|
code_32633.txt
карма: 19

0
файлы: 1code_32633.txt [691B] [185]
Ответов: 196
Рейтинг: 43
#5: 2013-12-18 20:49:12 ЛС | профиль | цитата
Леонид, опередил.
Add(MainForm,8315477,287,280)
{
link(onCreate,10329092:doTimer,[(349,300)(349,314)])
}
Add(Timer,10329092,378,308)
{
Interval=100
link(onTimer,5672238:doNext,[])
}
Add(CounterEx,5672238,434,308)
{
Max=9999
link(onNext,7585257:doEvent1,[])
}
Add(Memo,6668261,623,308)
{
Left=10
Top=10
Width=265
Height=235
ScrollBars=2
Point(EndIdx)
Point(doSetSelStart)
Point(doEnsureVisible)
Point(Position)
}
Add(Hub,7585257,497,308)
{
link(onEvent1,6668261:doAdd,[])
link(onEvent2,3031672:doLength,[(538,321)(538,398)])
}
Add(Length,3031672,623,392)
{
link(onLength,10653905:doEvent1,[(667,398)(667,376)(586,376)(586,356)])
link(Str,6668261:Text,[])
}
Add(Hub,10653905,595,350)
{
link(onEvent1,6668261:doSetSelStart,[])
link(onEvent2,6668261:doEnsureVisible,[])
}


карма: 2

1
Голосовали:Alex_P
Ответов: 8930
Рейтинг: 823
#6: 2013-12-18 20:59:33 ЛС | профиль | цитата
halt, я старался
карма: 19

0
Ответов: 1343
Рейтинг: 31
#7: 2013-12-18 21:19:07 ЛС | профиль | цитата
...
карма: 2

0
Ответов: 2290
Рейтинг: 678
#8: 2013-12-18 22:50:56 ЛС | профиль | цитата
Alex_P, чтоб при добавлении новой строки в Memo скролл сдвигался в низ сделайте так: code_32634.txt
карма: 11

0
файлы: 1code_32634.txt [1.6KB] [192]
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)