Форум: "Основная";
Текущий архив: 2003.09.15;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c