![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с RichEdit [D7, WinXP]
Kolan © (2004-11-05 22:17:00)Здравствуйте,
Вот код
WorkSpace.Lines.Delete(WorkSpace.CaretPos.Y+1);;
WorkSpace.Lines.Insert(WorkSpace.CaretPos.Y,(MakeCalc(LineParser.Commands)));
RichEditMoveCaretTo(WorkSpace,WorkSpace.CaretPos.Y-1);
Те строка после данной, удаляется и курсор должен встать на место новой но этого не происходит.
Причем если сделать так
WorkSpace.Lines.Delete(WorkSpace.CaretPos.Y+1);
Application.ProcessMessages;
WorkSpace.Lines.Insert(WorkSpace.CaretPos.Y,(MakeCalc(LineParser.Commands)));
Application.ProcessMessages;
RichEditMoveCaretTo(WorkSpace,WorkSpace.CaretPos.Y-1);
Application.ProcessMessages;
то получается по другому. Вот Ф-ция перевода каретки
procedure TMainForm.RichEditMoveCaretTo(RichEdit: TRichEdit; LineNumber: Word);
begin
RichEdit.SelStart := RichEdit.Perform(EM_LINEINDEX, LineNumber,0);
end;
WorkSpace - RichEdit
Kolan (2004-11-05 23:20:00) [1]Про Application.ProcessMessages;
наврал.