【发布时间】:2012-02-24 13:06:20
【问题描述】:
是否有可与 firemonkey(或正在研究它的人)一起使用的 synedit 包?
据我所知,之前有一个 VGScene 端口(请参阅:this site),但它似乎已被删除。
另见this site:
【问题讨论】:
-
vg_synedit.pas文件可以在这里找到ksdev.com/mplfiles -
很好的发现。但我希望有更完整的东西。一般来说,我认为大多数显示/滚动内容都必须重写。像滚动条这样简单的东西在 firemonkey 下不起作用——它们必须用 FM 自己的版本替换。但大部分文本处理引擎都可以挽救。
-
我不确定是否要挽救文本处理:Delphi 的 SynEdit 基于 Windows 文本函数,必须替换这些函数才能跨平台使用,并且 FireMonkey 文本支持非常有限/有缺陷。一个更好的开始可能是 SynEdit 的 Lazarus 分支,它已经是跨平台的(但基于 LCL 构建......),并且在许多方面比 SourceForge(Delphi)版本更先进(参见wiki.lazarus.freepascal.org/SynEdit)
-
最好将处理文本处理的代码从显示功能中抽象出来。会发生一些重叠,尤其是在处理字体度量、比例和行绘图时——但如果 synEdit 没有成功,那将是可悲的。 Lazarus 解决了这个问题,因为我有一个非常重的仿真层。甚至消息也被拉撒路模仿。也许干净的重写是唯一的方法。该代码接近以窗口为中心的布局/绘图/滚动代码:(
-
Lazarus 还对 synedit 进行了大量投资,包括折叠和缩放到大文件大小。马丁神父。是主要的 synedit 家伙 atm
标签: delphi firemonkey synedit