delphi – 如何用Open Tools API折叠插入区域?

我想在编辑视图中插入一个区域,然后折叠该区域.
// fEditView: IOTAEditView;

var
  writer: IOTAEditWriter;
begin
  writer := fEditView.Buffer.CreateUndoableWriter;
  //...
  writer.Insert('{$REGION ''Documentation''}'#13#10'{$ENDREGION}');
  writer := nil;  // Flush the buffer
  fEditView.Position.GotoLine(lineNo); // go to the line number of the region
  fEditView.Paint;
end;

代码段将在代码编辑器中插入一个区域.但IDE需要一些操作才能在代码编辑器中生成这样一个区域.

有没有办法强制IDE做这个动作,然后我可以使用

(fEditView as IOTAElideActions).ElideNearestBlock;

折叠吗

解决方法

发现由grubby试错:-)
(fEditView as IOTAElideActions).EnableElisions;
(fEditView as IOTAElideActions).EnableElisions;
(fEditView as IOTAElideActions).ElideNearestBlock;

EnableElisions()似乎实际切换了elisions功能.

再次脱口而出,似乎有所期望的效果.有一些不是非常漂亮的屏幕更新.是否可以抑制我不知道.

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...