FoxMemo
<p>FoxMemo,FoxUI提供的原生的多行编辑组件。
特性
<strong>1:支持书签
2:支持关键字高亮,可以定义多个风格
3:支持超级链接 支持点击
4:支持指定内容高亮
5:支持显示/隐藏指定行
6:支持自动折行
7:支持显示行号
8:支持大文件
9:支持无限级undo/redo操作
10:支持自动完成功能 新</strong></p>
<p><strong>属性</strong>
Alpha 透明度</p>
<p>AcSet 自动完成设置
ItemHeight 项目高度
MaxVisCount 最多显示个数再多就是滚动条
DefFormWidth 窗体默认宽度
ItemMargin 间隔
NameMargin 内容间隔
CommMargin 备注间隔
ImgMargin 图标间隔
NameFont 名称字体
CommonFont 备注字体
CommonShow 是否显示备注内容
MatchColor 命中内容颜色
CommonNameSwap 内容和注释互换</p>
<p>AutoComplete 是否激活自动完成功能</p>
<p>HorzScrollBar 横向滚动条设置 详情见<a href="https://www.showdoc.cc/p/c0aed95295759a5b057aceb2fa783599" title="FoxScrollBar">FoxScrollBar</a> 介绍</p>
<p>GutterSet //左侧行号侧边栏设置
Alignment 文字对齐方式
Visible 是否可见
Font 字体配置
ColorSet 颜色配置
Back 底色
Select 选中文字颜色
Focus 当前行颜色
ShowLineNume 是否显示行号
ShowRowNum 是否显示Row个数
ShowBookMark 是否显示书签
Width 左侧栏宽度
HighLighStyles 高亮风格管理</p>
<p>MarginSet 间距管理
Line 行间距
Row 折行间距</p>
<p>MaxUndoStep 撤销操作记录级别 0 表示无限级</p>
<p>MenuSet 内置菜单项标题配置
//注意此部分已经全部放到FoxCaptionHintManager统一管理</p>
<p>HighLineColor 高亮当前行颜色</p>
<p>BottomLineColor 行下划线颜色</p>
<p>OnlyRead 只读</p>
<p>PopupMenu 外接[FoxPopupMenu]( <a href="https://www.showdoc.cc/p/94e26e335005d1b7eb076bf28ccc13f0">https://www.showdoc.cc/p/94e26e335005d1b7eb076bf28ccc13f0</a> "FoxPopupMenu")菜单</p>
<p>RoundValue 圆角设置
ShowEditMenu 是否显示内置编辑菜单
SkinSet 皮肤设置
Back 背景图皮肤序号
Input 输入符皮肤序号
BookMark 书签标识皮肤序号
Popup 详情见[FoxPopupMenu]( <a href="https://www.showdoc.cc/p/94e26e335005d1b7eb076bf28ccc13f0">https://www.showdoc.cc/p/94e26e335005d1b7eb076bf28ccc13f0</a> "FoxPopupMenu")介绍</p>
<p>Transparent 背景透明</p>
<p>WordWrap 自动换行</p>
<p>TxtHint 当内容空的时候文字提示</p>
<p>VertScrollBar 竖向滚动条 详情见<a href="https://www.showdoc.cc/p/c0aed95295759a5b057aceb2fa783599" title="FoxScrollBar">FoxScrollBar</a>介绍</p>
<p><strong>提供的事件</strong>
OnAfterDraw(Sender: TObject; DstBmp: TBitmap32;Arect: TRect);</p>
<p>OnBeforeDraw(Sender: TObject; DstBmp: TBitmap32;Arect: TRect);
内部绘制前后事件</p>
<p>OnBorderSelect 边框输出触发 </p>
<p>OnChange 文本内容变化触发</p>
<p>OnBeforePaste 在Paste之前产生,我们可以阻止和修改</p>
<p>OnGetFocus,OnLoseFocus 焦点获取和失去时候产生</p>
<p>OnNativeMenuInit 内建菜单初始化事件</p>
<p>OnNativeMenuPopup 内建菜单弹出事件</p>
<p>OnNativeMenuItemSelectFont 内建菜单绘制时 自定义字体</p>
<p>OnNativeMenuShow 内建菜单显示事件 我们可以在这里阻止</p>
<p>OnBookMarkClick 书签点击事件</p>
<p>OnGutterLineClick 左侧栏单击事件</p>
<p>OnGutterLineDbClick 左侧栏双击事件</p>
<p>OnNewLine //回车新建行触发</p>
<p>OnKeyWordMatch //关键字匹配触发</p>
<p>OnHighLightClick//高亮内容点击触发</p>
<p>OnHorzScrollGetAlpha 横向滚动条动态设定透明</p>
<p>OnvertScrollGetAlpha 竖向滚动条动态设定透明</p>
<p>OnLineBeforeDraw 行绘制前事件触发</p>
<p>OnLineAfterDraw 行绘制后事件触发</p>
<p>OnLineBottomColorSelect 行下划线动态设定事件</p>
<p>OnAutoCompleteFormGetWidth 自动下拉窗体动态获取宽度</p>
<p>OnAutoCompleteFormInitSetting 自动下拉窗体动态设定</p>
<p>OnAutoCompleteListItemColorSelect 自动下拉列表项颜色动态设定</p>
<p>OnAutoCompleteGetText 自动完成获取完成内容动态设定</p>
<p>OnAutoCompleteGetKey 自动完成动态获取关键字</p>
<p>OnAutoCompleteGetDst 自动完成动态获取目标内容</p>
<p>OnAutoCompleteListItemOwnerDraw 自动完成项自定义绘制事件</p>
<p><strong>提供的方法</strong>
Procedure Clear; //清空
procedure AddTxt(ATxt:string;UpdateNow:Boolean=True);//加入文字
function DelTxt(LineIndex:Integer;UpdateNow:Boolean=True):Boolean;//删除一行
function InsertTxt(LineIndex:Integer;ATxt:String;UpdateNow:Boolean=True):Boolean;//插入一行
procedure AppendTxt(Atxt:String);//追加文本内容</p>
<p>procedure LoadFromFile(const FileName:String;Encoding:TEncoding);//载入文件
procedure UnDo;//撤销,我们只支持一级undo
procedure ReDo;//重复</p>
<p>procedure DoPaste;// 黏贴
procedure DoDelete;//删除
procedure DoCut;//剪切
procedure DoCopy;//复制
procedure DoCancel;//取消
procedure DoSelAll;//全选</p>
<p>//高亮相关功能
function LineSelectHighLight //给line设置高亮选中内容</p>
<p>//标签相关功能
function AddBookMark(ALineIndex:Integer;KeyWord:String;Comment:String='');//增加书签
function DelBookMark(ALineIndex:Integer);//删除书签
function GotoBookMark(KeyWord:string);//去书签所在行
function GotoBookMark(BookmarkIndex:Integer):Boolean;overload;//去书签所在行</p>
<p>function LoadBookMark(Sf:String):Boolean;//载入书签
function SaveBookMark(Sf:String):Boolean;//保存书签
procedure GetBookMarkList(Var AList:TStrings);//获取书签列表</p>
<p>function AddAcItem(itemName:String):TFoxAcItem;//加入自动完成项目
function DelAcItem(ItemName:string):Boolean;//删除自动完成项目</p>
<p>function GetCaretLineIndex:Integer;//返回鼠标当前行号</p>