文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:38
字数 529
阅读 24
收藏 0

值得注意的变化:

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;

本文转载自:http://www.cnblogs.com/del/archive/2011/10/08/2202002.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
Delphi XE2:这就是我们所期待的Delphi吗?

版权声明:本文为 OSChina.NET 原创编译 转载务必注明出处,并保留链接! 作者:蒂姆.安德森 Delphi是被一些人遗忘了的快速应用程序开发工具,但它与可视组件库相结合,依然是开发Windows本机...

虫虫
2011/10/31
40.7K
49
最全面的常用Delphi第三方控件汇总—报表、图表、界面、数据库等

有网友问我常用Delphi第三方控件及功能。我先大概整理一下,以后会在文章里面碰到时再仔细介绍。 报表图表方面: TeeChart Pro 在delphi 的图形显示方面目前唯一的选择,虽然从delphi 3 就随...

Leamontea
2012/12/03
0
2
Delphi XE2 新功能:LiveBindings --- 把对象之间的属性绑定起来

Delphi XE2 新功能:LiveBindings --- 把对象之间的属性绑定起来日期:2011年9月9日 作者: 人气:5340 查看:[大字体 中字体 小字体] XE2 有了 FireMonkey 框架,它不同于 VCL ,以往的数据感...

vga
2016/08/09
17
0
使用 Delphi 开发移动应用

引言 现在移动设备的发展现在变成了趋势. 我们可以考虑本地语言开发 (例如ObjectiveC for IOS或 Java for Android), 但通常对新开发者的学习代价高. 另一个选择是第三方代理 (例如Titanium,...

oschina
2012/12/11
10.3K
21
PostgreDAC 2.8.0,Delphi的PostgreSQL组件

PostgreDAC 2.8.0 发布了,该版本首次通过 RAD Studio XE2 支持 Mac OS X 系统,大大提升了 FireMonkey 支持,修复了关于 TPSQLMonitor 的 bug。 完整改进记录: [!] FireMonkey and cross p...

红薯
2012/03/20
675
1

没有更多内容

加载失败,请刷新页面

加载更多

jquery通过id显示隐藏

var $div3 = $('#div3'); 显示 $div3.show(); 隐藏 $div3.hide();

yan_liu
今天
3
0
《乱世佳人》读书笔记及相关感悟3900字

《乱世佳人》读书笔记及相关感悟3900字: 之前一直听「荔枝」,后来不知怎的转向了「喜马拉雅」,一听就是三年。上班的时候听房产,买房了以后听装修,兴之所至时听旅行,分手后听亲密关系,...

原创小博客
今天
3
0
大数据教程(9.6)map端join实现

上一篇文章讲了mapreduce配合实现join,本节博主将讲述在map端的join实现; 一、需求 实现两个“表”的join操作,其中一个表数据量小,一个表很大,这种场景在实际中非常常见,比如“订单日志...

em_aaron
今天
3
0
cookie与session详解

session与cookie是什么? session与cookie属于一种会话控制技术.常用在身份识别,登录验证,数据传输等.举个例子,就像我们去超市买东西结账的时候,我们要拿出我们的会员卡才会获取优惠.这时...

士兵7
今天
3
0
十万个为什么之为什么大家都说dubbo

Dubbo是什么? 使用背景 dubbo为什么这么流行, 为什么大家都这么喜欢用dubbo; 通过了解分布式开发了解到, 为适应访问量暴增,业务拆分后, 子应用部署在多台服务器上,而多台服务器通过可以通过d...

尾生
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部