首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi Memo 多行文字編輯元件全攻略:屬性、方法與簡易文字編輯器實作

     編輯:Delphi

突破單行限制:TMemo 多行文字處理核心指南

TMemo 提供完整的多行文字編輯、捲動、自動換行、剪貼簿整合、檔案儲存/載入功能,是簡易記事本、日誌檢視器、程式碼編輯器的基礎元件。

核心屬性

屬性說明建議值
Lines最核心屬性,TStrings 型別,儲存/操作所有行文字設計時可預填內容
ScrollBars捲動條模式:ssNone/ssHorizontal/ssVertical/ssBothssBoth 內容較多時
WordWrap自動換行,True 時不顯示水平捲動條視需求而定
WantTabsTrue 允許 Tab 鍵插入製表符(預設 Tab 切換焦點)程式碼編輯需 True

常用方法

1. 剪貼簿操作

// 剪下
if Memo1.SelLength > 0 then Memo1.CutToClipboard;
// 複製
if Memo1.SelLength > 0 then Memo1.CopyToClipboard;
// 貼上
if Memo1.SelLength = 0 then Memo1.PasteFromClipboard;  // 無選取時貼上

2. 文字行操作(透過 Lines 屬性)

// 新增行至末尾
Memo1.Lines.Add('新增的文字行');
// 插入指定行
Memo1.Lines.Insert(Index, '插入的文字');
// 刪除指定行
Memo1.Lines.Delete(Index);
// 移動行
Memo1.Lines.Move(CurIndex, NewIndex);

3. 檔案儲存與載入(搭配 SaveDialog/OpenDialog)

// 儲存
if SaveDialog1.Execute then
  Memo1.Lines.SaveToFile(SaveDialog1.FileName);

// 載入
if OpenDialog1.Execute then
  Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

實戰專案:簡易文字編輯器

介面元件:TMemo、7 個 TButton(新增文字、剪下、複製、貼上、儲存、開啟、關閉)、TSaveDialog、TOpenDialog

核心程式碼

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Lines.Text := '這裡是 Memo 元件示例';
end;

procedure TForm1.Button1Click(Sender: TObject);  // 新增文字
begin
  Memo1.Lines.Add('在末端添加文字');
end;

procedure TForm1.Button2Click(Sender: TObject);  // 剪下
begin
  if Memo1.SelLength > 0 then Memo1.CutToClipboard;
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.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.Button7Click(Sender: TObject);  // 關閉
begin
  Close;
end;

此專案展示 TMemo 核心功能完整串聯,可延伸加入尋找/取代、字型設定、列印、語法醒目等進階功能,構建完整文字編輯器雛形。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved