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

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

Как сделать клавишу-акселератор (keyboard shortcut)

Вопрос:
Как сделать клавишу-акселератор (keyboard shortcut) компонету у которого нет заголовка?

Ответ:

Возможный вариант – присвоить
ссылку на этот компонент свойству FocusControl TLabel’а. В примере используется
невидимый Label для создания “быстрой” клавиши (Alt+M) компонента Memo. Чтобы
использовать пример, разместите на форме компонет TMemo, Label и несколько других
компонентов, которые могут принимать фокус ввода. Запустите программу, перевидите
фокус ввода куда-нибудь вне Memo и нажмите Alt+M – фокус ввода вернется в Memo. Прочитать остальную часть записи »

Вопрос:
Как добится того чтобы TMemo и TEdit имели работали не только в режиме вставки символов,
но и в режиме замены?

Ответ:

Элементы управления Windows
TEdit и TMemo не имеют режима замены. Однако этот режим можно эмулировать установив
свойство SelLength edit’а или memo в 1 при обработке события KeyPress. Это заставит
его перезаписывать символ в текущей позиции курсора. В примере этот способ используется
для TMemo. Режим вставка/замена переключается клавишей “Insert”. Прочитать остальную часть записи »

Как определить номер текущей строки в TMemo?

Вопрос:
Как определить номер текущей строки в TMemo?

Ответ:

Чтобы определить номер
текущей строки любого объекта управления edit – пошлите ей сообщение EM_LINEFROMCHAR

Пример:
procedure TForm1.Button1Click(Sender: TObject);
var
	LineNumber : integer;
begin
	LineNumber := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, word(-1), 0);
	ShowMessage(IntToStr(LineNumber));
end;

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

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

Ответ:

Пошлите в Memo сообщение
EM_SETTABSTOPS. Например установим первую позицию табуляции на 20-й пиксел. Прочитать остальную часть записи »