2009-08-12 77 views
1

有谁知道如何将“更改标记”功能添加到SynEdit?我指的是线,绿色为修改&保存,黄色代表的文档修改&未保存的部分...这里是从其他的编辑为例:http://img222.imageshack.us/img222/6474/editori.jpgSynEdit更改标记(排水沟上的黄色或绿色线条)

+0

您的意思是将代码添加到SynEdit控件来执行此操作,还是通过SynEdit事件将功能添加到应用程序中? – mghie 2009-08-12 13:41:29

+0

我想,为了在排水沟和内容之间绘制它,需要修改SynEdit。但是如果可能的话,最好是使用synedit事件自行完成。我不喜欢修改第三方组件,因为当开发人员更新它时需要额外的工作。 – migajek 2009-08-13 14:31:20

回答

1

是的,我已经把它添加到我的SynEdit的副本。我最初从另一个项目中获取代码。

它被打破(至少)两个不同的单位IIRC。

您需要修改SynEditTextBuffer.pas以及SynEdit.pas。

代码相当复杂,因为您需要修改SynEditTextBuffer.pas中的多个点以及SynEdit.pas中的1或2个点。

我把代码从原始项目中抽出来的代码非常雄心勃勃,因为他们试图开发代码折叠和行阻塞(如图所示)。

我无法让代码折叠工作可靠,所以我放弃了那个mod,只是使用了换行代码。我相信,放弃代码折叠也会减少行阻塞。

该项目的名称是SynEditSudio,它来自中国的网站,但我相信Firefox翻译插件在转换它的工作非常好。

编辑:如果您想获得我的更改副本,请直接与我联系。

HTH Ryan。

+0

这段代码在撤消/重做时是否也做了正确的事情?即当更改被撤消时它会删除这些行吗? – mghie 2009-08-12 14:24:35

+0

我对synedit的代码折叠修改也有很差的经验,但是我使用了“Mystix”版本(参见SourceForge)......不幸的是,现在这两个版本似乎都已经死亡。 我想我会联系你的情况下,我自己修改SynEditStudio失败...我很想看到一些插件,不需要修改SynEdit源*深*/ – migajek 2009-08-12 15:24:41

+0

@mghie - 是撤消/重做作品。我目前正在将它用于我的一个小型商业产品。我的SynEdit版本进行了大量修改,但仍与最新的SynEdit项目的正式版本保持同步。我有一些东西,比如右边的换行符,突出显示所有当前的令牌实例,行修改的指示符,令牌匹配,顺序行号(a-la Delphi IDE),当前行高亮以及高度自定义的选项对话框。 – 2009-08-12 18:41:41