2016-05-23 1 views
1

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

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

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

ответ

3

Из этого документа Бруно Fierens, Extending the 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() вы должны иметь возможность свободно перемещать курсор в любое место.