Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Установка каретки в RichEdit

Delphi , Компоненты и Классы , TMemo и TRichEdit

Узнать положение курсора в RichEdit не составляет труда (richedit.getcaret). А вот как установить каретку в нужное место?

Code:

Procedure setline(WhichEdit:TRichedit;Linepos,charpos:integer);
Begin
with WhichEdit do
begin
selstart:=perform(EM_LineIndex,Linenum,0)+charpos;
perform(EM_ScrollCaret,0,0);
end;
end;


Комментарии:

Если Вам не нужно, чтобы происходил скроллинг к позиции каретки, то EM_ScrollCaret можно убрать. Эта процедура так же может быть использована для TMemo, только надо будет заменить объявление witchedit на TMemo:

Procedure CustomMemoSetline(WhichEdit:TCustomMemo;Linepos,charpos:integer);

Так же эту процедуру можно использовать как ответ на вопрос "Как установить фокус на определённую строку в компоненте Memo ?". Для этого необходимо добавить следующий код после строки selstart:

sellength:=length(lines(line));

И установить charpos в 0.

RichEdit должен иметь фокус, иначе em_ScrollCaret не сработает.

Взято из http://forum.sources.ru

Установка каретки в RichEdit или TMemo в определенное место на строке можно выполнить с помощью процедуры setline, которая изменяет координаты курсора и вызывает скроллинг к позиции каретки.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TMemo и TRichEdit ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-29 02:09:04/0.0025248527526855/0