Как настроить табуляцию в компоненте TMemo?
Пошлите в 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