Мой DELPHI – Программирование

Всё для программера

Как управлять табуляцией в Memo-компоненте?

Как управлять табуляцией в Memo-компоненте?

Для этого необходимо поставить свойство “WantTabs” в “True”.
Теперь для управления шириной табуляции необходимо вызвать API-функцию SendMessage.
В последнем параметре функция ожидает указатель на массив с элементами типа
Word, в котором указаны позиции в единицах экрана. Для примера вызов функции
с указанием двух позиций табуляции:

procedure TForm1.FormCreate(Sender:TObject);
const
  Tabs: array[0..1] of Word = (4, 8);
begin
  SendMessage(Memo1.Handle, EM_SetTabStops, 2, LongInt(@Tabs));
end;

Как выяснить положение курсора в МЕМО?

Как выяснить положение курсора в МЕМО?

Необходимо вызвать дважды API-функцию “SendMessage”:


var
  xChr,
  xRow,
  xCol: LongInt;
...
 

xRow := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, Memo1.SelStart, 0);
xChr := SendMessage(Memo1.Handle, EM_LINEINDEX, Zeile, 0);
xCol := Memo1.SelStart - xChr + 1;