Edit和MaskEdit组件都只能编辑单行文本,Delphi的Memo组件提供了多行文本的编辑功能。下面解释Memo组件常用的属性。
Memo组件常用的方法: 1. 使用剪贴板(Clipboard) 我们可以使用CutToClipboard、CopyToClipboard和PastFromClipboar这三种方法,实现将Memo组件中被选择文本剪切或复制到剪贴板上,以及将剪切板上的内容粘贴到Memo组件中。 将Memo中的选中文本剪切到剪贴板的语句如下: 2. 文本的添加 利用Lines属性,可以增加、删除一行文本,也可以移动一行文本。下面的代码将文本添加到Memo中的最后一行: Memo1.Lines.Add('将文本添加到Memo中’); 3. 文件的保存和装载 我们可以将Memo组件中的文本保存成文本文件,也可以将文本文件装载到Memo中。这须要配合使用SaveDialog组件和OpenDialog组件。将Memo中的文本保存为文件的语句为: If SaveDialog1.Execute then //打开保存对话框 上边的语句先打开保存对话框,然后将Memo中的文本保存到一个文件中,文件名为我们在SaveDialog中输入的文本。 在Memo中装载文本文件的语句为: if Opendialog1.Execute then 执行上边语句将打开Opendialog对话框,然后将选中的文本文件装载到Memo中。 下面我们使用Memo组件的这些特性制作一个简单的文本编辑器,可以实现文本的拷贝复制,并可以进行文本的保存和装载。当然程序的功能还很简单,我们还可以进一步扩展。这里是入门教程,所以不宜太复杂。 程序的界面如下图所示: 源代码如下:
unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; SaveDialog1: TSaveDialog; OpenDialog1: TOpenDialog; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button7Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); begin memo1.Lines.Add('在末端添加文本'); end;
procedure TForm1.FormCreate(Sender: TObject); begin memo1.Lines.Text:='这里是Memo组件示例'; end;
procedure TForm1.Button2Click(Sender: TObject); begin if Memo1.SelLength>0 then Memo1.CutToClipboard; end;
procedure TForm1.Button5Click(Sender: TObject); begin if savedialog1.Execute then memo1.Lines.SaveToFile(savedialog1.FileName); end;
procedure TForm1.Button6Click(Sender: TObject); begin if Opendialog1.Execute then memo1.Lines.LoadFromFile(opendialog1.FileName); end;
procedure TForm1.Button3Click(Sender: TObject); begin if Memo1.SelLength>0 then Memo1.CopyToClipboard; end;
procedure TForm1.Button4Click(Sender: TObject); begin if Memo1.SelLength=0 then Memo1.PasteFromClipboard; end;
procedure TForm1.Button7Click(Sender: TObject); begin close; end;
end. |
![]() ![]() ![]() |