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

Вниз

Вставка текста в RichEdit (курсор за текстом)   Найти похожие ветки 

 
Delph ©   (2004-11-11 03:49) [0]

Ответьте пожалуйста на такой вот вопрос. Мне надо при нажатии Control+Enter вставлять в RichEdit текст (те добавлять строку) и необходимо, чтобы курсор оставался в конце вставленного текста.

Делаю так:

if (ssCtrl in Shift) then begin
 RichEdit1.Lines.Add("Привет");
 Key:=8;
end;

но вот, что происходит:
строка вставляется, а курсор переходит на строку ниже. Пробовал в коде программы добавлять ещё раз Key:=8 но не помогает. Прошу отнестись к просьбе серьёзно. Интересуют различные варианты. Заранее благодарен.


 
Семен Сорокин ©   (2004-11-11 08:46) [1]

SelStart, SelLength, SelText + F1;
RichEdit1.Lines.Add("Привет"); - добавляет строчку с конечными спец. символами (возврат каретки), поэтому курсор переходит на след строку.


 
Delph ©   (2004-11-11 10:28) [2]

---------------------
Семен Сорокин
---------------------

Меня интересует вариант с Add т.е. как можно выйти из проблемы - перенести указатель в конец добавленного текста. (текст я не выделяю и тд тоесть надо вставлять предопределённое слово). Спасибо за ответ.

Есть ещё предложения?


 
Семен Сорокин ©   (2004-11-11 10:29) [3]


> Есть ещё предложения?

см. SelStart


 
Gloomer ©   (2004-11-11 13:01) [4]

Примерное решение:

procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);
var sel:integer;str:string;
begin
if ((ssCtrl in Shift) and (Key=13))then begin
sel:=RichEdit1.SelStart;
str:=#13#10"Привет";
RichEdit1.Text:=Copy(RichEdit1.Text,1,RichEdit1.SelStart)+str+Copy(RichEdit1.Text,RichEdit1.SelStart+1,length(RichEdit1. Text));
RichEdit1.SelStart:=sel+length(str);
end;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.073 c
4-1097936385
Spark2
2004-10-16 18:19
2004.11.28
win1251


14-1100453991
Саша
2004-11-14 20:39
2004.11.28
GIF


3-1099021265
Геннадий
2004-10-29 07:41
2004.11.28
Что быстрее: WHERE IN ... или WHERE ... OR ... OR ...


3-1099309338
RusLAN_
2004-11-01 14:42
2004.11.28
Firebird. Копия БД (Тень)


1-1100505669
olookin
2004-11-15 11:01
2004.11.28
Breakpoint не работает.