Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1100123148
kirilllius
2004-11-11 00:45
2004.11.28
как узнать код сочетания клавиш?


14-1100275754
ppt
2004-11-12 19:09
2004.11.28
EasyRecovery


4-1097742124
Slonco
2004-10-14 12:22
2004.11.28
Как издать звук через beeper?


14-1100091864
YurikGL
2004-11-10 16:04
2004.11.28
Скрепка в outlook express 6.0


4-1098193970
suharew
2004-10-19 17:52
2004.11.28
Колесико мыши




   Наверх