值得注意的变化:

1、其父类 TScrollBox 的许多特性也很有用处, 如:

  1.   Memo1.UseSmallScrollBars := True;

2、内部使用了一个栈列表管理动作, 现在可以执行多步撤销(UnDo).

3、使用了一个新的结构体 TCaretPosition 来描述当前位置, 并为该结构提供了一个公用的快速构造函数 ComposeCaretPos().

  1.   TCaretPosition = record
  2.     Line, Pos: Integer;
  3.   end;

4、提供枚举属性 CharCase 控制大小写.

  1.   Memo1.CharCase := TEditCharCase.ecUpperCase;

5、提供布尔属性 AutoSelect 决定获取焦点时是否自动全选.

6、现在的 Lines 属性读取的是自动换行后的文本集合; 原始集合用 UnwrapLines 读取.

  1.   Memo1.CharCase := TEditCharCase.ecUpperCase;

7、还提供了 InsertAfter()、DeleteFrom() 等新方法.


  1. { TMemo }
  2. public
  3.   constructor Create(...); override; //
  4.   destructor Destroy; override;      //
  5.   procedure CopyToClipboard;        //复制
  6.   procedure PasteFromClipboard;      //粘贴
  7.   procedure CutToClipboard;          //剪切
  8.   procedure ClearSelection;          //取消选择
  9.   procedure SelectAll;              //全选
  10.   procedure GoToTextEnd;            //到最后
  11.   procedure GoToTextBegin;          //到开始
  12.   procedure GotoLineEnd;            //到行尾
  13.   procedure GoToLineBegin;          //到行首
  14.   function GetPositionPoint(...): TPointF;    //获取当前位置
  15.   procedure UnDo;                            //撤销
  16.   procedure InsertAfter(...);                //插入
  17.   procedure DeleteFrom(...);                  //删除指定范围的内容
  18.   function TextPosToPos(...): TCaretPosition; //根据指定的文本长度计算光标位置
  19.   function PosToTextPos(...): Integer;        //TextPosToPos() 的反相计算
  20.   property SelStart: Integer ...;            //选区文本的起始位置
  21.   property SelLength: Integer ...;            //选区文本的长度
  22.   property SelText: string ...;              //选区文本
  23.   property CaretPosition: TCaretPosition ...; //输入光标的位置
  24.   property LineWidth[LineNum: Integer]: Single ...; //获取指定行的宽度
  25.   property UnwrapLines: TStrings ...;        //没有换行的原始文本集合; 在 WordWrap = False 时同 Lines
  26.   property FontFill: TBrush ...;              //文本笔刷
  27.   property SelectionFill: TBrush ...;        //选区笔刷
  28. published
  29.   property Cursor default crIBeam;      //鼠标光标
  30.   property CanFocus default True;        //能否拥有焦点
  31.   property DisableFocusEffect;          //是否禁用焦点特效
  32.   property TabOrder;                    //Tab 序
  33.   property AutoSelect: Boolean ...;      //是否在获取焦点时自动全选
  34.   property CharCase: TEditCharCase ...;  //控制大小写的选项
  35.   property Enabled;                      //是否可用
  36.   property HideSelection: Boolean ...;  //?
  37.   property Lines: TStrings ...;          //自动换行后的文本集合
  38.   property MaxLength: Integer ...;      //最大长度
  39.   property ReadOnly: Boolean ...;        //是否只读
  40.   property OnChange: TNotifyEvent ...;        //有改变时
  41.   property OnChangeTracking: TNotifyEvent ...; //发生在 OnChange 之前的事件
  42.   property WordWrap: Boolean ...;        //是否自动换行
  43.   property Font: TFont ...;              //字体
  44.   property Text: string ...;            //内容
  45.   property TextAlign: TTextAlign ...;    //文本对齐方式
  46.   property StyleLookup;                  //指定样式
  47. end;

Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo的更多相关文章

  1. Delphi XE2 之 FireMonkey 入门(36) - 控件基础: TForm

    Delphi XE2 之 FireMonkey 入门(36) - 控件基础: TForm 当我第一次读取 Form1.StyleLookup 并期待出现 "formstyle" 时 ...

  2. Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...

  3. Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid

    Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...

  4. Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit

    Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...

  5. Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox

    Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox TScrollBox -> TCustomListBox -> TListBox; 其元素项 ...

  6. Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox、TVertScrollBox、TFramedScrollBox、TFramedVertScrollBox

    Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox.TVertScrollBox.TFramedScrollBox.TFramedVertScrollB ...

  7. Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu、TMenuItem、TMenuBar、TMainMenu

    Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu.TMenuItem.TMenuBar.TMainMenu 相关控件: TMenuBar.TPopup ...

  8. Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览

    Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览 { TControl } public   constructor Create(...); ov ...

  9. Delphi XE2 之 FireMonkey 入门(35) - 控件基础: TFmxObject: 其它

    Delphi XE2 之 FireMonkey 入门(35) - 控件基础: TFmxObject: 其它 TFmxObject 增加了 TagObject.TagFloat.TagString, 算 ...

随机推荐

  1. Flask开发系列之Flask+redis实现IP代理池

    Flask开发系列之Flask+redis实现IP代理池 代理池的要求 多站抓取,异步检测:多站抓取:指的是我们需要从各大免费的ip代理网站,把他们公开的一些免费代理抓取下来:一步检测指的是:把这些代 ...

  2. 设备树里面#address-cells 、#size-cells、reg三者的关系

    栗子1: cpus { #address-cells = <>; #size-cells = <>; cpu@ { compatible = "arm,cortex- ...

  3. 云主机使用ansible出现秘钥认证问题

    使用ansible的时候,出现如下秘钥失效的问题: root@jumpserver ftp]# ansible web -m ping The authenticity of host 'web-00 ...

  4. hadoop的三大组件安装

    安装过程分3步走: 1.安装namenode主机一台; 2.安装datanode主机三台; 3.启用集群的三大组件: HDFS,Mapreduce,Yarn. 重要的事情: 新建的虚拟机,预备安装ha ...

  5. 001-SaltStack入门篇(一)之SaltStack部署

    早期运维工作中用过稍微复杂的Puppet,下面介绍下更为简单实用的Saltstack自动化运维的使用. Saltstack知多少Saltstack是一种全新的基础设施管理方式,是一个服务器基础架构集中 ...

  6. DP+滚动数组 || [Usaco2007 Nov]Telephone Wire 架设电话线 || BZOJ 1705 || Luogu P2885

    本来是懒得写题解的…想想还是要勤发题解和学习笔记…然后就滚过来写题解了. 题面:[USACO07NOV]电话线Telephone Wire 题解: F[ i ][ j ] 表示前 i 根电线杆,第 i ...

  7. maven参数详解

    setting.xml主要用于配置maven的运行环境等一系列通用的属性,是全局级别的配置文件:而pom.xml主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和li ...

  8. 第二篇:请求库之requests,selenium

    requests模块 一.介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:reques ...

  9. linux 配置内网yum源

    一.yum服务器端配置1.安装FTP软件#yum install vsftpd #service vsftpd start#chkconfig --add vsftpd#chkconfig vsftp ...

  10. jquery 3.1 tets

    r.extend = r.fn.extend = function () { var a, b, c, d, e, f, g = arguments[0] || {}, h = 1, i = argu ...