[Delphi] 标准控件(Memo组件)

来源:互联网 发布:mac os 10.7.5 编辑:程序博客网 时间:2024/05/21 17:03

Edit和MaskEdit组件都只能编辑单行文本,Delphi的Memo组件提供了多行文本的编辑功能。下面解释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组件的这些特性制作一个简单的文本编辑器,可以实现文本的拷贝复制,并可以进行文本的保存和装载。当然程序的功能还很简单,我们还可以进一步扩展。这里是入门教程,所以不宜太复杂。

  程序的界面如下图所示:

程序界面

  源代码如下: 

 

 

 

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.


打印本文档  返回顶部  关闭窗口

原创粉丝点击