level 11
天道玄虚
楼主
ELT是玄虚制作的FMX下的,用于实现文档编辑功能的控件,算是一个非RTF格式的富文本文档编辑控件,类似于VCL下的TRichEdit。但是到了ELT1.12版本,这已经不是一个单纯的文档编辑控件了。
这一次更新加入了大量内容,容我一一道来。
1、原本的文档控件——TUIPassage
TUIPassage是ELT下的一个文档编辑控件,此次更新改变了其文档的储存结构,使之能够保存这个控件的信息,诸如:背景、边距等。
TUIPassage的文档内容后缀名约定为:ELTP,即:ELT_Passage。
增加了文档内容校验,防止读取不合法文档时出现不可预料的错误。
当然,这些更新意味着原先的文档将不可用……
改变了选取算法,目前约定如下:
对于纯文字的情况,将以文字中心为界,靠左侧则选中文字左边位置,靠右侧则选取右边位置。
对于有图片的情况,单击图片,一定选中图片右侧位置,即保持图片为选中的位置。
拖动选中文字的时候,鼠标将变为箭头状,并且标识插入位置的光标比正常闪动的光标加粗。
2、颠覆性的新控件——TUIManager
你有没有觉得单纯的文档编辑器有很多时候太过于无力?这一次玄虚创造的TUIManager即是一个多TUIPassage的协调核心,能够提供一系列独有的功能。
先说一说如何使用TUIManager,默认的设定如下:
当你按住Ctrl键的时候,在TUIManager上拖动鼠标可以创建一个TUIPassage,当你没有按住任何按键的时候,将同时改变所有TUIPassage的位置。
TUIManager拥有小地图系统:
既然可以同时添加多个TUIPassage,那么必然会出现超出视野的情况,那么如何知道到底加入了多少个TUIPassage?每一个分别大致在什么位置呢?TUIManager的小地图系统将能够解决这个问题。TUIManager的MiniMap属性即为与之绑定的小地图。
同时提供了事件:OnDrawMiniMap用于处理相关事宜。每当小地图改变的时候,该事件都会被触发。
TUIManager不仅拥有小地图系统,而且拥有一个镜头系统:
所谓镜头系统,就是一个协调并改变视野的系统。你可以调用SetCamera方法保存当前的镜头,通过修改CamName[Index]来修改镜头的名称,通过ApplyCamera来转到镜头。
按照设想,如果排版合理,镜头设置合理,那么这可以几乎实现一个实用的演示文稿的功能。
3、关于两者的使用
TUIPassage的背景能够独有,也可以选择透明,TUIManager的背景于是本质相同,不同的是当镜头移动的时候,其背景并不会随之移动。不过可以通过调整Fill.Bitmap.Bitmap来改变背景。
如果你的TUIPassage没有输入任何文字,而且关闭了所有鼠标控制功能,那么可以当做一副图片。
为了方便诸位更好地了解其功能和大致的使用方法,此次更新特地加入了两个Frame,分别是用于控制TUIPassage的ELT_PsgFreme以及用于控制TUIManager的ELT_MngFrame,并且主窗体上已经给出了协调两个控制框架的方法。(通过焦点来判断)
多说不如上图:

2017年03月02日 12点03分
1
这一次更新加入了大量内容,容我一一道来。
1、原本的文档控件——TUIPassage
TUIPassage是ELT下的一个文档编辑控件,此次更新改变了其文档的储存结构,使之能够保存这个控件的信息,诸如:背景、边距等。
TUIPassage的文档内容后缀名约定为:ELTP,即:ELT_Passage。
增加了文档内容校验,防止读取不合法文档时出现不可预料的错误。
当然,这些更新意味着原先的文档将不可用……
改变了选取算法,目前约定如下:
对于纯文字的情况,将以文字中心为界,靠左侧则选中文字左边位置,靠右侧则选取右边位置。
对于有图片的情况,单击图片,一定选中图片右侧位置,即保持图片为选中的位置。
拖动选中文字的时候,鼠标将变为箭头状,并且标识插入位置的光标比正常闪动的光标加粗。
2、颠覆性的新控件——TUIManager
你有没有觉得单纯的文档编辑器有很多时候太过于无力?这一次玄虚创造的TUIManager即是一个多TUIPassage的协调核心,能够提供一系列独有的功能。
先说一说如何使用TUIManager,默认的设定如下:
当你按住Ctrl键的时候,在TUIManager上拖动鼠标可以创建一个TUIPassage,当你没有按住任何按键的时候,将同时改变所有TUIPassage的位置。
TUIManager拥有小地图系统:
既然可以同时添加多个TUIPassage,那么必然会出现超出视野的情况,那么如何知道到底加入了多少个TUIPassage?每一个分别大致在什么位置呢?TUIManager的小地图系统将能够解决这个问题。TUIManager的MiniMap属性即为与之绑定的小地图。
同时提供了事件:OnDrawMiniMap用于处理相关事宜。每当小地图改变的时候,该事件都会被触发。
TUIManager不仅拥有小地图系统,而且拥有一个镜头系统:
所谓镜头系统,就是一个协调并改变视野的系统。你可以调用SetCamera方法保存当前的镜头,通过修改CamName[Index]来修改镜头的名称,通过ApplyCamera来转到镜头。
按照设想,如果排版合理,镜头设置合理,那么这可以几乎实现一个实用的演示文稿的功能。
3、关于两者的使用
TUIPassage的背景能够独有,也可以选择透明,TUIManager的背景于是本质相同,不同的是当镜头移动的时候,其背景并不会随之移动。不过可以通过调整Fill.Bitmap.Bitmap来改变背景。
如果你的TUIPassage没有输入任何文字,而且关闭了所有鼠标控制功能,那么可以当做一副图片。
为了方便诸位更好地了解其功能和大致的使用方法,此次更新特地加入了两个Frame,分别是用于控制TUIPassage的ELT_PsgFreme以及用于控制TUIManager的ELT_MngFrame,并且主窗体上已经给出了协调两个控制框架的方法。(通过焦点来判断)
多说不如上图:
