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;
Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo的更多相关文章
- Delphi XE2 之 FireMonkey 入门(36) - 控件基础: TForm
Delphi XE2 之 FireMonkey 入门(36) - 控件基础: TForm 当我第一次读取 Form1.StyleLookup 并期待出现 "formstyle" 时 ...
- Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem
Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...
- Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid
Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...
- Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit
Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...
- Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox
Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox TScrollBox -> TCustomListBox -> TListBox; 其元素项 ...
- Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox、TVertScrollBox、TFramedScrollBox、TFramedVertScrollBox
Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox.TVertScrollBox.TFramedScrollBox.TFramedVertScrollB ...
- Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu、TMenuItem、TMenuBar、TMainMenu
Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu.TMenuItem.TMenuBar.TMainMenu 相关控件: TMenuBar.TPopup ...
- Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览
Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览 { TControl } public constructor Create(...); ov ...
- Delphi XE2 之 FireMonkey 入门(35) - 控件基础: TFmxObject: 其它
Delphi XE2 之 FireMonkey 入门(35) - 控件基础: TFmxObject: 其它 TFmxObject 增加了 TagObject.TagFloat.TagString, 算 ...
随机推荐
- Centos系统的启动流程
一.CentOS6启动流程 1.流程图 2.说明 (1)post加电自检 这个过程是开机后,BIOS或UEFI进行硬件检查的阶段 (2)MBR引导 自检硬件没有问题时候,这里以BIOS为例,BIOS将 ...
- 2019-11-29-Roslyn-如何在-Target-引用-xaml-防止文件没有编译
title author date CreateTime categories Roslyn 如何在 Target 引用 xaml 防止文件没有编译 lindexi 2019-11-29 08:58: ...
- 设备中LPC2368芯片个例参数问题导致故障的分析
最近公司的设备客户报告在终端客户那里出现了板卡加热不受控,出现了持续加热导致设备一些贵重部件损坏.由于历史上很多现场问题,板卡什么拆到别的地方搭复现平台,基本都是以失败告终,所以出差去现场分析. 过程 ...
- ARM伪指令和协处理器访问指令
伪指令本身没有对应的机器码 .global声明全局符号,点事GUN汇编的特点 .data定义数据段 .equ DA #0x89 定义宏 .align 4 4字节对齐 mov 指令里的立即数只能是8位的 ...
- Django中数据库的增删改查
本随笔使用的是pycharm专业版2019.1.3.Django==1.9.8.Python2.7 这里的Django后台使用了ORM(Object Relational Mapping),全称对象关 ...
- auto_ptr为什么不能做为vector的元素
昨天看effectve c++的时候,发现了auto_ptr这个东西.由于我待过的公司都是用的老版c++,代码里智能指针什么的完全没有出现过,都是直接操作的原始指针.虽说我很少出错,但是总归还是不太安 ...
- Mac下开发环境的配置
新安装的mac系统往往要配置各种环境,总是记不住,暂时保存在这,以备后需------- Mac下的包管理工具使用的是brew,首先安装它 官方站:https://brew.sh/ 安装命令: /usr ...
- 【洛谷P2447】外星千足虫
题目大意:给定一个 M 个含 N 个未知数的异或方程组,保证有解,若存在唯一解,给出至少需要几个方程才能得出唯一解,若不存在,直接输出不存在. 题解:异或方程组也满足类似初等行变换的操作,只不过所有的 ...
- 一个web应用的诞生(6)
之前登录注册的功能都已经完成,但是登录成功回到首页发现还是白茫茫的一片,对的,title一直都写得博客,那么最终目的也是写出一个轻博客来,但是,在发表文章之前是不是要先记录一下登录状态呢? 用户登录 ...
- 【转】js监听浏览器离开页面操作
[转]https://www.cnblogs.com/slly/p/7991474.html 序言 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统.信息录 ...