多行编辑框组件(TMemo)TMemo组件可以显示、编辑多行文本,是一个标准的Windows多行编辑组件。对一些比较多的文本内容可以利用TMemo组件来显示、编辑。 1.TMemo组件的重要属性 Lines---------------可以访问多行文本中的每一行 ScrollBars----------此属性用于设置是否要加上滚动条 WantReturn----------用于解决按下“enter”键是用于换行还是作用于按钮WantTabs每按一次Tab键,将使光标在多行文本编辑器中移动一个制表位WordWrap当输入文字到了多行文本编辑器的右边界时,文字自动换行下面介绍程序中TMemo组件常用的属性。 (1)Lines属性 单击Lines属性后边的“...”按钮打开编辑框,可以对Memo组件的内容进行编辑,通过此属性可以对Memo组件内的每一行进行访问。例如取出Memo1组件第2行的内容显示为Form1的标题: Form1.Caption:=Memo1.Lines.Strings[1]; 利用Line属性的Add方法和Delete方法可以对Memo的内容进行动态地添加和删除。如下代码的功能是向Memo1组件中添加一行内容: Memo1.Lines.Add(’在Memo的末尾添加一行内容’); 删除Memo的第1行内容可以这样写: Memo1.Lines.Delete(0); 程序中控制Memo内容的几种主要方法: (1)追加一行: MemoObj ect->Lines一>Append(追加一行的内容); (2)插入一行: MemoObject->Lines->Insert(行索引号,插入的文本内容); (3)删除一行: MemoObject->Lines->Delete(行索引号); (4)修改一行: MemoObject->Lines一>string[行索引号]=新内容; (5)清空内容: MemoObj ect->Lines一>Clear(); (6)从文件读取: MemoObj ect->Lines->LoadFromFile(文件名); 例如:在窗体中添加Bu~onl和Memol,在Buttonl的Click事件中加入以下的处理程序(例如D:\Backup文件夹下有x1.txt文件): void_fastcall Tforml::ButtonlClick(Tobj ect。Sender) ( Memo->Linse->LoadFromFile(”C:\\backup\\x1.txt); ) 这样,当运行程序的时候,看到当按下Buttonl时,Mem01显示的文本正是X1.txt的内容。另外,不仅能够读取TXT文件,也能够读取RTF文件。 (2)ScrollBars属性 ScrollBars属性用于设置是否要加上滚动条(因为需要输入多行文字)。本属性设定了以下4个用户可选值。 . ssNone:不加上滚动条。 . ssHorizontal:加上水平滚动条。 . ssVertical:加上垂直滚动条。 . ssBoth:水平和垂直滚动条都加上。 (3)WantReturn属性 假如Form上有一个按钮,并且按钮的Default属性设为True,当用户按下“Enter”键时即相当于单击这个按钮,因为这个按钮是默认按钮。这就带来一个问题—在多行文本编辑器中输入文字时按下Enter键,究竟是换行还是作用于按钮呢? WantReturns属性用于解决这个问题。如果WantReturn设为True,按下“Enter”键就是换行。如果WantReturns设为False,按下Enter键就不是换行而是作用于按钮,这时候要换行必须按“Ctrl+Enter”组合键。 (4)WantTabs属性 如果WantTabs属性设为True,每按一次“Tab”键,将使光标在多行文本编辑器中移动一个制表位。如果 WantTabs属性设为False,按下“Tab”键使输入焦点在同一个Form的组件之间依次切换,这时候,要在多行文本编辑器中移动一个制表位,必须按“Ctrl+Tab”组合键。 (5)WordWrap属性 如果此属性设为True,当输入的文字到了多行文本编辑器的右边界时,文字自动换行。当编辑器的水平尺寸改变时,编辑器中的文字也将自动调整。 |
|