Управление прокруткой Memo
Автор: Bob Sherman
У меня имеется компонент TMemo, и мне необходимо автоматически
"тормозить" программным способом его прокрутку при добавлении новой строки
Memo.Lines.Add(Строка).
В Delphi 2.0 простая установка 'SelStart:=0' НЕ срабатывает. Это ошибка в
коде VCL. Значения различных частей 'сообщения' windows, используемые для "set
selection" (установления выбранной части текста) в WIN32 были изменены (это
использовалось для 'автоматической' прокрутки каретки/курсора, но больше не
работает).
Попробуйте добавить следующую строку ПОСЛЕ 'SelStart:=0;':
SendMessage(Handle,EM_SCROLLCARET,0,0);
|
Это должно заставить компонент работать так, как вы и ожидаете. Я надеюсь что
Borland знает об этой проблеме и скоро ее исправит.
Здесь я должен пояснить, что ошибка как раз не в самом TMemo, а в TCustomEdit
(в методе SetSelLength в stdctrls.pas). Поэтому данная проблема может
наблюдаться во всех наследниках TCustomEdit (как TMemo).
|