Главная страница
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.024 c
14-1100202870
Nikolay M.
2004-11-11 22:54
2004.11.28
Не успел ответить на закрытую ветку :)


3-1099475816
Uran
2004-11-03 12:56
2004.11.28
Сортировка в Interbase


3-1098944040
alexey1
2004-10-28 10:14
2004.11.28
InterBase - помогите модифицировать поле, выполняющее COMPUTED BY


14-1100199534
123
2004-11-11 21:58
2004.11.28
Linux


1-1100536394
InfMag
2004-11-15 19:33
2004.11.28
Изменение массива не работает