TMemo的用法

来源:互联网 发布:php urlsafeb64encode 编辑:程序博客网 时间:2024/06/05 23:02
网上阅读TMemo相关用法BCB TMemo控件 查找 并 选中功能TMemo Controlvoid __fastcall TForm1::Button1Click(TObject *Sender){ //全部转换成大写之后 AnsiString SourceStr = UpperCase( Memo1->Lines->Text );//已有的内容 AnsiString FindStr = UpperCase( Edit1->Text );//要查找的内容if(!SourceStr.AnsiPos(FindStr)){    Application->MessageBox("没有查找的内容!","提示",MB_OK+MB_ICONINFORMATION);}else{        Memo1->SetFocus();//设置焦点后选中SelStart到SelLength的范围        Memo1->SelStart   =   SourceStr.AnsiPos(FindStr)-1;        Memo1->SelLength   = FindStr.Length();}} ====================================================BCB6.0�的Memo�有"部份"改�style的功能,我以前做��似的�西,是用RichEdit做的,���考一下:RichEdit1->Lines->Strings[0] = "我叫小禹,��大家的�照\n";    RichEdit1->SelStart=0;    RichEdit1->SelLength= AnsiString(RichEdit1->Lines->Strings[0]).Length();    RichEdit1->SelAttributes->Style = TFontStyles()<< fsUnderline;    RichEdit1->Lines->Strings[1] = "我叫小禹,��大家的�照\n";    RichEdit1->SelStart=AnsiString(RichEdit1->Lines->Strings[0]).Length();    RichEdit1->SelLength= AnsiString(RichEdit1->Lines->Strings[1]).Length();    RichEdit1->SelAttributes->Style = TFontStyles()<< fsBold;============================================================多行编辑框组件(TMemo)TMemo组件可以显示、编辑多行文本,是一个标准的Windows多行编辑组件。对一些比较多的文本内容可以利用TMemo组件来显示、编辑。1.TMemo组件的典型用法TMemo组件主要用于输入备注型的字符串,它不能进行文字格式的设置。利用TMemo组件Lines属性的LoadFromFile方法打开文本文件,对文本文件进行编辑。编辑完成后再利用Lines属性的SaveToFile方法将编辑后的文本进行保存。例如下面的代码,在拥有一个Memo1组件和两个Button组件的窗体上,实现了文本文件的打开和保存功能: procedure TForm1.OpenBtnClick(Sender: TObject); begin Memo1.Lines.LoadFromFile(’C:\a.txt’); //打开C:\a.txt文件 end;procedure TForm1.SaveBtnClick(Sender: TObject); beginMemo1.Lines.SaveToFile(’C:\a.txt’); //保存为C:\a.txt文件 end;TMemo组件主要是利用Lines属性进行控制,它的取值类型为TStringList属性。 2.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);(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,当输入的文字到了多行文本编辑器的右边界时,文字自动换行。当编辑器的水平尺寸改变时,编辑器中的文字也将自动调整。


0 0