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