Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как настроить табуляцию в компоненте TMemo?

01.01.2007

Пошлите в Memo сообщение EM_SETTABSTOPS

Взято с сайта https://blackman.wp-club.net/


procedure TForm1.FormCreate(Sender: TObject);
var
  DialogUnitsX: LongInt;
  PixelsX: LongInt;
  i: integer;
  TabArray: array[0..4] of integer;
begin
  Memo1.WantTabs := true;
  DialogUnitsX := LoWord(GetDialogBaseUnits);
  PixelsX := 20;
  for i := 1 to 5 do
    begin
      TabArray[i - 1] := ((PixelsX * i) * 4) div DialogUnitsX;
    end;
  SendMessage(Memo1.Handle,
    EM_SETTABSTOPS, 5, LongInt(@TabArray));
  Memo1.Refresh;
end;

Взято из

DELPHI VCL FAQ Перевод с английского      

Подборку, перевод и адаптацию материала подготовил Aziz(JINX)

специально для Королевства Дельфи


Для этого надо послать сообщение EM_SetTabStops компоненте TMemo, в котором необходимо указать два параметра. Количество передаваемых значений и величины табуляций.

Если первый параметр равняется нулю, то второй параметр игнорируется и величина табуляции сбрасывается в значение по умолчанию (32). Иначе, устанавливается величина указанная во втором параметре, причем, при единичном значении все величины табуляций будут равны, а при большем значении величины берутся из переданного массива.

{Установка одной величины табуляции}
const
  TabInc: LongInt = 40;
 
begin
  SendMessage(Memo1.Handle, EM_SetTabStops, 1, Longint(@TabInc));
end;
 
...
 
{Установка двух величин табуляции}
const
  TabInc: array [1..2] of LongInt = (10, 30);
 
begin
  SendMessage(Memo1.Handle, EM_SetTabStops, 2, Longint(@TabInc));
end;
 
 
https://delphiworld.narod.ru/

DelphiWorld 6.0