Вставить текст в позицию курсора в Embarcadero Tools API

Я пишу расширение для IDE Embarcadero C++ Builder и хочу программно вставить текст в редактор кода в позиции курсора. Я искал файлы заголовков API инструментов, но нашел только интерфейс, который позволяет мне вставлять текст в начале редактора.

Есть ли какой-либо интерфейс или функция, которая позволяет мне вставлять текст в указанной позиции? И если да, можете ли вы дать мне пример кода?

Я пишу расширение на C++, но примеры кода на Delphi тоже подойдут.

1 ответ

Решение

Из этого документа Бруно Фиренса, расширяющего Delphi IDE:

var
  EditorServices: IOTAEditorServices;
  EditView: IOTAEditView;
  copyright: string;
begin
  copyright := '{ Copyright © 2011 by tmssoftware.com }';
  EditorServices := BorlandIDEServices as IOTAEditorServices;

  EditView := EditorServices.TopView;

  if Assigned(EditView) then
  begin
    // position cursor at 1,1
    EditView.Buffer.EditPosition.Move(1,1);
    // insert copyright notice on top
    EditView.Buffer.EditPosition.InsertText(copyright);
  end;
end;

С помощью EditView.Buffer.EditPosition.Move() Вы должны иметь возможность свободно перемещать курсор в любое место.

Другие вопросы по тегам