Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.15;
Скачать: 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 вся ветка

Текущий архив: 2003.09.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
6-48672
eK
2003-07-14 22:32
2003.09.15
Как мне переделать аутентификацию на веб-сервере


7-48808
Genemy
2003-06-30 16:20
2003.09.15
Печать отчета


3-48480
Ann
2003-08-22 11:46
2003.09.15
Paradox


6-48666
Виль
2003-07-13 14:53
2003.09.15
FTP- сервер на ПК ответ на модемное диалаповское соединение.


4-48827
bloodman
2003-07-14 20:18
2003.09.15
WH_KEYBOARD