多行編輯框組件(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);
begin
Memo1.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,當輸入的文字到了多行文本編輯器的右邊界時,文字自動換行。當編輯器的水平尺寸改變時,編輯器中的文字也將自動調整。