我正在为Embarcadero C++ Builder IDE编写扩展,并希望以编程方式在代码编辑器中的光标位置插入文本。我搜索了Tools API头文件,但只找到一个界面,该界面允许我在编辑器的开头插入文本。

有没有允许我在指定位置插入文本的接口(interface)或功能?如果是这样,您能给我提供一个代码示例吗?

我正在用C++编写扩展,但是Delphi中的代码示例也可以。

最佳答案

根据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(),您应该可以将光标自由移动到任何位置。

关于c++ - 在Embarcadero Tools API中的光标位置插入文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37385488/

10-13 07:32