• Delphi XE2 之 FireMonkey 入门(40) 控件基础: TMemo



    值得注意的变化:

    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;
    

  • 相关阅读:
    <c:forEach 的常用整理
    <div>
    HTML <td> 标签的 rowspan 属性
    ap-client.xml要配
    @Autowired
    hasResultError
    使用 EclEmma 进行覆盖测试
    IE调试网页之三:使用 F12 工具控制台查看错误和状态 (Windows)
    different between<A Href> and <jsp: forward>
    <button>与<input type="button">的区别
  • 原文地址:https://www.cnblogs.com/del/p/2202002.html
Copyright © 2020-2023  润新知