2016-05-23 9 views
1

Ich schreibe eine Erweiterung für die Embarcadero C++ Builder IDE und möchte programmgesteuert Text im Code-Editor an der Cursorposition einfügen. Ich habe die Tools-API-Headerdateien durchsucht, aber nur eine Schnittstelle gefunden, die es mir ermöglicht, am Anfang des Editors Text einzufügen.Einfügen von Text an der Cursorposition in Embarcadero Tools API

Gibt es eine Schnittstelle oder Funktion, die es mir erlaubt, Text an einer bestimmten Position einzufügen? Und wenn ja, können Sie mir ein Codebeispiel geben?

Ich schreibe die Erweiterung in C++, aber Codebeispiele in Delphi werden auch tun.

Antwort

3

Aus diesem Dokument von Bruno 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() Verwenden Sie sollten frei Lage sein, um den Cursor an eine beliebige Stelle zu verschieben.