文档章节

delphi之Memo组件

KavenSu
 KavenSu
发布于 2014/01/26 19:09
字数 936
阅读 1936
收藏 2

Lines:这是Memo组件最常用,也是最有用的属性,它用来显示和保存Memo组件中的内容。 

  Scrollbar:很多组件都有这个属性。用于设定组件有否滚动条。它有四个值:SSNone表示既无水平滚动条,也无垂直滚动条;SSHorizontal表示只有水平滚动条;SSVertal表示只有垂直滚动条;SSBoth表示两者都有。当用户要显示的文本或其它的内容较多时,建议选用SSBoth。 

  WordWrap:用于设定Momo组件是否具有自动折行功能。 

  WantTabs:这个属性只在Memo、RichEdit和DBMemo组件中使用。通常在切换当前焦点控件时,我们通常使用Tab键。但在上述三种组件中,编辑文本时常用Tab键来跳过若干个空格使文本对齐,这时就会有冲突。所以应将WantTabs设置为True,这样子在组件内就可以使用Tab键来编辑文本。 

Memo组件常用的方法:

  1. 使用剪贴板(Clipboard)

  我们可以使用CutToClipboard、CopyToClipboard和PastFromClipboar这三种方法,实现将Memo组件中被选择文本剪切或复制到剪贴板上,以及将剪切板上的内容粘贴到Memo组件中。

  将Memo中的选中文本剪切到剪贴板的语句如下:

  if Memo1.SelLength>0 then

  2. 文本的添加

  利用Lines属性,可以增加、删除一行文本,也可以移动一行文本。下面的代码将文本添加到Memo中的最后一行:

  Memo1.Lines.Add('将文本添加到Memo中’);

  3. 文件的保存和装载

  我们可以将Memo组件中的文本保存成文本文件,也可以将文本文件装载到Memo中。这须要配合使用SaveDialog组件和OpenDialog组件。将Memo中的文本保存为文件的语句为:

  If SaveDialog1.Execute then   //打开保存对话框

  Memo1.Lines.SaveToFile(SaveDialog1.FileName);  //保存为文件

上边的语句先打开保存对话框,然后将Memo中的文本保存到一个文件中,文件名为我们在SaveDialog中输入的文本。

  在Memo中装载文本文件的语句为:

  if Opendialog1.Execute then

  Memo1.Lines.LoadFile(Opendialog1.FileName);

执行上边语句将打开Opendialog对话框,然后将选中的文本文件装载到Memo中。

memo组件的封转好的方法如下

{ 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://cache.baiducontent.com/c?m=9d78d513d99516f11ab7cf690d678831460994247c89df4f3992d15f9217465...

共有 人打赏支持
KavenSu
粉丝 6
博文 66
码字总数 16605
作品 0
深圳
私信 提问
Delphi 2010 中的泛型

Delphi 2010 中的泛型日期:2010年5月31日 作者: 人气:10504 查看:[大字体 中字体 小字体]2010已发布很长时间了,口碑还不错,准备用它开发下一项目,但对泛型等新东西的认识还不够,就搜了...

vga
2016/08/09
19
0
DIOCP开源项目-DIOCP3的重生和稳定版本发布

DIOCP3的重生 从开始写DIOCP到现在已经有一年多的时间了,最近两个月以来一直有个想法做个 30 * 24 稳定的企业服务端架构,让程序员专注于逻辑实现就好。虽然DIOCP到现在通讯层已经很稳定了,...

天地弦
2014/08/03
0
0
(转)Delphi 调用C#编写的WebService 参数为Null解决方法 附中文乱码问题

(转)Delphi 调用C#编写的WebService参数为Null解决方法 附中文乱码问题 //add-------to support UTF-8 RIO.HTTPWebNode.UseUTF8InHeader:= true; //添加该行,指定采用UTF-8代码传输 RIO....

vga
2015/02/13
971
1
SQLite for Delphi的网友评论

SQLite的一个Delphi的开源封装库,全面支持Delphi 4, 5, 6, 7, 2005 和 2006。对于Delphi 4和Delphi 5请使用带有D4、D5后缀的文件。解压缩下载回来的文件包到Delphi的子目录下,安装该组件,...

红薯
2009/12/11
1K
2
SQLite for Delphi

SQLite的一个Delphi的开源封装库,全面支持Delphi 4, 5, 6, 7, 2005 和 2006。对于Delphi 4和Delphi 5请使用带有D4、D5后缀的文件。解压缩下载回来的文件包到Delphi的子目录下,安装该组件,...

匿名
2008/10/06
12.3K
1

没有更多内容

加载失败,请刷新页面

加载更多

6、消息发布和订阅功能

一:介绍 redis提供了简单的发布订阅功能,producer往某个channel推送,client订阅指定的channel(可以模糊匹配),这样就能够消费。 redis和rabbitmq的区别 可靠性 redis :没有相应的机制保...

刘付kin
46分钟前
1
0
OSChina 周日乱弹 —— 我重新说

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享矢野立美的单曲《LOVE Theme from TIGA <M-2>》: 《LOVE Theme from TIGA <M-2>》- 矢野立美 手机党少年们想听歌,请使劲儿戳...

小小编辑
今天
99
7
Java单例模式学习记录

在项目开发中经常能遇见的设计模式就是单例模式了,而实现的方式最常见的有两种:饿汉和饱汉(懒汉)。由于日常接触较多而研究的不够深入,导致面试的时候被询问到后有点没底,这里记录一下学习...

JerryLin123
昨天
10
0
VSCODE 无法调试

VSCODE 无法调试 可以运行 可能的原因: GCC 的参数忘了加 -g

shzwork
昨天
6
0
理解去中心化 稳定币 DAI

随着摩根大通推出JPM Coin 稳定币,可以预见稳定币将成为区块链落地的一大助推器。 坦白来讲,对于一个程序员的我来讲(不懂一点专业经济和金融),理解DAI的机制,真的有一点复杂。耐心看完...

Tiny熊
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部