TMemo 提供完整的多行文字編輯、捲動、自動換行、剪貼簿整合、檔案儲存/載入功能,是簡易記事本、日誌檢視器、程式碼編輯器的基礎元件。
| 屬性 | 說明 | 建議值 |
|---|---|---|
| Lines | 最核心屬性,TStrings 型別,儲存/操作所有行文字 | 設計時可預填內容 |
| ScrollBars | 捲動條模式:ssNone/ssHorizontal/ssVertical/ssBoth | ssBoth 內容較多時 |
| WordWrap | 自動換行,True 時不顯示水平捲動條 | 視需求而定 |
| WantTabs | True 允許 Tab 鍵插入製表符(預設 Tab 切換焦點) | 程式碼編輯需 True |
// 剪下
if Memo1.SelLength > 0 then Memo1.CutToClipboard;
// 複製
if Memo1.SelLength > 0 then Memo1.CopyToClipboard;
// 貼上
if Memo1.SelLength = 0 then Memo1.PasteFromClipboard; // 無選取時貼上
// 新增行至末尾
Memo1.Lines.Add('新增的文字行');
// 插入指定行
Memo1.Lines.Insert(Index, '插入的文字');
// 刪除指定行
Memo1.Lines.Delete(Index);
// 移動行
Memo1.Lines.Move(CurIndex, NewIndex);
// 儲存
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 核心功能完整串聯,可延伸加入尋找/取代、字型設定、列印、語法醒目等進階功能,構建完整文字編輯器雛形。