查看完整版本: Delphi标准控件-Memo组件

Teacher 2008-8-30 00:26

Delphi标准控件-Memo组件

[tr][td]
[/td][/tr][tr][td]来源:洪恩在线 作者:[/td] [/tr][tr][td][table][tr][td][/td][/tr][/table][align=left]  Edit和MaskEdit组件都只能编辑单行文本,Delphi的Memo组件提供了多行文本的编辑功能。下面解释Memo组件常用的属性。[/align][table=379][tr=#3399ff][td=1,1,14%]属性[/td][td=1,1,86%]说明[/td][/tr][tr][td=1,1,14%] Lines[/td][td=1,1,86%]这是Memo组件最常用,也是最有用的属性,它用来显示和保存Memo组件中的内容。[/td][/tr][tr][td=1,1,14%] Scrollbar[/td][td=1,1,86%]很多组件都有这个属性。用于设定组件有否滚动条。它有四个值:SSNone表示既无水平滚动条,也无垂直滚动条;SSHorizontal表示只有水平滚动条;SSVertal表示只有垂直滚动条;SSBoth表示两者都有。当用户要显示的文本或其它的内容较多时,建议选用SSBoth。[/td][/tr][tr][td=1,1,14%] WordWrap[/td][td=1,1,86%]用于设定Momo组件是否具有自动折行功能。[/td][/tr][tr][td=1,1,14%] WantTabs[/td][td=1,1,86%]这个属性只在Memo、RichEdit和DBMemo组件中使用。通常在切换当前焦点控件时,我们通常使用Tab键。但在上述三种组件中,编辑文本时常用 Tab键来跳过若干个空格使文本对齐,这时就会有冲突。所以应将WantTabs设置为True,这样子在组件内就可以使用Tab键来编辑文本。[/td][/tr][/table][align=left]  Memo组件常用的方法:[/align][align=left]  1. 使用剪贴板(Clipboard)[/align][align=left]  我们可以使用CutToClipboard、CopyToClipboard和PastFromClipboar这三种方法,实现将Memo组件中被选择文本剪切或复制到剪贴板上,以及将剪切板上的内容粘贴到Memo组件中。[/align][align=left]  将Memo中的选中文本剪切到剪贴板的语句如下:
   if Memo1.SelLength>0 then[/align][align=left]  2. 文本的添加[/align][align=left]  利用Lines属性,可以增加、删除一行文本,也可以移动一行文本。下面的代码将文本添加到Memo中的最后一行:[/align][align=left]  Memo1.Lines.Add('将文本添加到Memo中’);[/align][align=left]  3. 文件的保存和装载[/align][align=left]  我们可以将Memo组件中的文本保存成文本文件,也可以将文本文件装载到Memo中。这须要配合使用SaveDialog组件和OpenDialog组件。将Memo中的文本保存为文件的语句为:[/align][align=left]  If SaveDialog1.Execute then   //打开保存对话框
   Memo1.Lines.SaveToFile(SaveDialog1.FileName);  //保存为文件[/align][align=left]上边的语句先打开保存对话框,然后将Memo中的文本保存到一个文件中,文件名为我们在SaveDialog中输入的文本。[/align][align=left]  在Memo中装载文本文件的语句为:[/align][align=left]  if Opendialog1.Execute then
   Memo1.Lines.LoadFile(Opendialog1.FileName);[/align][align=left]执行上边语句将打开Opendialog对话框,然后将选中的文本文件装载到Memo中。[/align][align=left]  下面我们使用Memo组件的这些特性制作一个简单的文本编辑器,可以实现文本的拷贝复制,并可以进行文本的保存和装载。当然程序的功能还很简单,我们还可以进一步扩展。这里是入门教程,所以不宜太复杂。[/align][align=left]  程序的界面如下图所示:[/align][align=center][img=503,314]http://www.bianceng.cn/upimg/allimg/070508/4.gif[/img][/align]  源代码如下: 
[code]
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.
[/code]
[/td][/tr]
页: [1]
查看完整版本: Delphi标准控件-Memo组件