Home » Tipps & Tricks » Komponenten » TRichEdit/TMemo/TEdit » Tabulatoren-Größe in TCustomMemo setzen

Tabulatoren-Größe in TCustomMemo setzen

Die folgende Procedure setzt die Tabulator-Größe in Pixel für alle von TCustomMemo abgeleitete Komponenten (TMemo oder TRichEdit). Die Procedure erwartet zwei Parameter. Einmal das TCustomMemo-Control und als zweiten Parameter die Größe des Tabulators in Pixel:

procedure SetTabs(const ACustomMemo: TCustomMemo; const aTabWidth: Integer);
begin
  if aTabWidth>0 then
    SendMessage(ACustomMemo.Handle, EM_SETTABSTOPS, 1, Longint(@ATabWidth));
end;

Die Procedure kann so aufgerufen werden. Zuvor muss die Eigenschaft WantTabs des Memos auf True gesetzt werden, damit überhaupt Tabulatoren angezeigt werden können.

procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.WantTabs := True;
  SetTabs(Memo1, 100);
end;

Wird im Control keine horizontale Scrollbar angezeigt, gibt es Probleme, wenn die TabStop-Breite größer sein soll als die Breite des Feldes.