值得注意的变化:
1、其父类 TScrollBox 的许多特性也很有用处, 如:
Memo1.UseSmallScrollBars := True;
2、内部使用了一个栈列表管理动作, 现在可以执行多步撤销(UnDo).
3、使用了一个新的结构体 TCaretPosition 来描述当前位置, 并为该结构提供了一个公用的快速构造函数 ComposeCaretPos().
TCaretPosition = record Line, Pos: Integer; end;
4、提供枚举属性 CharCase 控制大小写.
Memo1.CharCase := TEditCharCase.ecUpperCase;
5、提供布尔属性 AutoSelect 决定获取焦点时是否自动全选.
6、现在的 Lines 属性读取的是自动换行后的文本集合; 原始集合用 UnwrapLines 读取.
Memo1.CharCase := TEditCharCase.ecUpperCase;
7、还提供了 InsertAfter()、DeleteFrom() 等新方法.
{ TMemo } public constructor Create(...); override; // destructor Destroy; override; // procedure CopyToClipboard; //复制 procedure PasteFromClipboard; //粘贴 procedure CutToClipboard; //剪切 procedure ClearSelection; //取消选择 procedure SelectAll; //全选 procedure GoToTextEnd; //到最后 procedure GoToTextBegin; //到开始 procedure GotoLineEnd; //到行尾 procedure GoToLineBegin; //到行首 function GetPositionPoint(...): TPointF; //获取当前位置 procedure UnDo; //撤销 procedure InsertAfter(...); //插入 procedure DeleteFrom(...); //删除指定范围的内容 function TextPosToPos(...): TCaretPosition; //根据指定的文本长度计算光标位置 function PosToTextPos(...): Integer; //TextPosToPos() 的反相计算 property SelStart: Integer ...; //选区文本的起始位置 property SelLength: Integer ...; //选区文本的长度 property SelText: string ...; //选区文本 property CaretPosition: TCaretPosition ...; //输入光标的位置 property LineWidth[LineNum: Integer]: Single ...; //获取指定行的宽度 property UnwrapLines: TStrings ...; //没有换行的原始文本集合; 在 WordWrap = False 时同 Lines property FontFill: TBrush ...; //文本笔刷 property SelectionFill: TBrush ...; //选区笔刷 published property Cursor default crIBeam; //鼠标光标 property CanFocus default True; //能否拥有焦点 property DisableFocusEffect; //是否禁用焦点特效 property TabOrder; //Tab 序 property AutoSelect: Boolean ...; //是否在获取焦点时自动全选 property CharCase: TEditCharCase ...; //控制大小写的选项 property Enabled; //是否可用 property HideSelection: Boolean ...; //? property Lines: TStrings ...; //自动换行后的文本集合 property MaxLength: Integer ...; //最大长度 property ReadOnly: Boolean ...; //是否只读 property OnChange: TNotifyEvent ...; //有改变时 property OnChangeTracking: TNotifyEvent ...; //发生在 OnChange 之前的事件 property WordWrap: Boolean ...; //是否自动换行 property Font: TFont ...; //字体 property Text: string ...; //内容 property TextAlign: TTextAlign ...; //文本对齐方式 property StyleLookup; //指定样式 end;