Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.11;
Скачать: CL | DM;

Вниз

SetFocus и скролл   Найти похожие ветки 

 
Alex-21   (2003-07-22 22:26) [0]

Здравствуйте, Мастера!!!
Пишу такой код:
...
RxRichEdit1.SelStart:= RxRichEdit1.Text.Length;
RxRichEdit1.SetFocus;
...

Когда вертикальный скролл находится скажем вверху или в середине RxRichEdit1, передаем фокус этому окну и скролл почему-то перемещается вниз, чтобы была видна каретка. А мне нужно, чтобы скролл не сдвинулся с начального положения, т.е. значение положения скролла оставалось постоянным. Как это делается?
Пробовал писать SetScrollPos() после этого кода, но не помогает.


 
Alex-21   (2003-07-23 21:45) [1]

Никто не подскажет?!


 
PKT   (2003-07-24 02:13) [2]

Ну, если "в лоб" решать, то что-то вроде этого:

var
SaveLine: Integer;
begin
SaveLine := SendMessage(RxRichEdit1.Handle, EM_GETFIRSTVISIBLELINE, 0, 0);
RxRichEdit1.SelStart:= Length(RxRichEdit1.Text);
RxRichEdit1.SetFocus;
SendMessage(RxRichEdit1.Handle, EM_LINESCROLL, 0,
SaveLine - SendMessage(RxRichEdit1.Handle, EM_GETFIRSTVISIBLELINE, 0, 0));


 
Alex-21   (2003-07-25 14:45) [3]

Спасибо, получилось. Но мне не нравится, как происходит подмигивание окна. То есть в окне виден процесс перехода к местоположению каретки, а потом обратно в какие-то доли милисекунды, когда печатаются символы.


 
Alex-21   (2003-07-27 20:08) [4]

Есть ли другой способ? Лучше, чтоб вообще не было сдвига скролинга. Заранее спасибо.


 
___Nikolay ©   (2003-07-28 07:01) [5]


> 2 Alex-21


Попробуй заключить
RxRichEdit1.SelStart...
в BeginUpdate... EndUpdate

Чтобы обновление произошло уже после
SendMessage(RxRichEdit1.Handle...



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
14-33360
Мазут Береговой
2003-07-25 09:02
2003.08.11
Давненько я не был здесь! Как у вас тут все изменилось!


11-33087
_Ed_
2002-12-06 18:07
2003.08.11
Hicon ---> HBitmap


14-33364
Empleado
2003-07-25 20:18
2003.08.11
Пятница-с ...


14-33333
Главный работник предприятия
2003-07-24 09:37
2003.08.11
1С форева!!!


6-33253
Def
2003-05-30 13:33
2003.08.11
Работа с модемом