Delphi TMemo 可以顯示、編輯多行文本


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM