Вниз
Скачать: CL | DM;

TRichEdit   Найти похожие ветки 

 
lex7   (2003-09-03 14:51) [0]

Дело в следующем: в TRichEdit выводится информация о работе программы. Как сделать, чтобы при добавлении новой строки происходило скролирование текста вверх? Если использовать SelStart:=Length(Text), то это работает только если компонент имеет фокус.

пример:
var
i: integer;
begin
with RichEdit1 do
for i:=0 to 200 do Lines.Add(IntToStr(i)); // курсор должен находится всегда на последней добавленной строкеend;


 
VMcL ©   (2003-09-03 14:53) [1]

ScrollBy(...) ?


 
lex7   (2003-09-03 15:00) [2]

Может что не так делаю, но не получается:

var
i: integer;
begin
with RichEdit1 do
for i:=0 to 200 do
begin
Lines.Add(IntToStr(i));
ScrollBy(0, Canvas.TextHeight(IntToStr(i)));
end;
end;


 
lex7   (2003-09-03 15:01) [3]

Текст смещается, полоса прокрутки - на месте...


 
VMcL ©   (2003-09-03 15:06) [4]

Да, я уже и сам попробовал, нужно по-другому.


 
lex7   (2003-09-03 15:07) [5]

И вновь вопрос открыт :)


 
DVM ©   (2003-09-03 15:09) [6]


> Если использовать SelStart:=Length(Text), то это работает
> только если компонент имеет фокус.

selstart + setfocus?


 
lex7   (2003-09-03 15:12) [7]

SetFocus не удобен тем, что если окно не может его иметь (напр. открыто поверх модальное окно), то будет ошибка. Если выполнять SetFocus только когда он возможен - опять плохо: при закрытии модального окна курсор останется на старом месте, хотя текста может добавиться очень много...


 
VMcL ©   (2003-09-03 15:14) [8]

EM_LINESCROLL

например:
SendMessage(RichEdit1.Handle, EM_LINESCROLL, 0, 200);


 
lex7   (2003-09-03 15:20) [9]

> VMcL
Ok, спасибо, то что надо...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
3-48414
Alik$
2003-08-25 12:09
2003.09.15
ДГрид ДублКлик вызываю модальную форму и тут не то что надо


14-48732
Knight
2003-08-24 21:42
2003.09.15
У кого какой диалап?


14-48728
николай
2003-08-27 11:47
2003.09.15
метод стат. испытаний.


3-48461
reticon
2003-08-26 11:04
2003.09.15
Dynamic SQL


1-48498
Calm
2003-09-02 17:13
2003.09.15
Корректно ли создать в методе TThread.Execute VCL-компоненты?




   Наверх