delphi之Memo组件


本文整理自网络,侵删。

 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;

相关阅读 >>

Delphi写console控制台程序

Delphi 如何编写使stringgrid中的一列具有check功能,和checkbox效果一样

Delphi 截图函数screenshot

Delphi fmx 同时使用longtap和tap

Delphi 将对象转换为json字符串或tjsonobject

Delphi 把一个ico转换为bmp

Delphi 闪盘小偷

Delphi 获取所有窗口标题

Delphi.about.com一个钩子的实现代码

Delphi image1 图像旋转90

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...