Шаг 11.3 - Создание действий (TAction) по управлению спецсимволами
Установите на форму fmMDIChild компонент - TActionList, закладка Standard. В окне инспектора свойств настройте свойства компонента следующим образом:
TActionList.
Свойство |
Значение |
Комментарий |
Name |
HotKeys |
Имя компонента в модуле |
. Дважды щелкните на компоненте - HotKeys, на экран загрузится редактор списка действий, как показано на рисунке 11.1.
Рис. 11.1.
Зарегистрируйте в списке семь новых действий (TAction) и настройте в инспекторе свойств некоторые свойства соданных действий следующим образом:
Свойство |
Значение |
Комментарий |
TAction - InsDiameter |
Name |
InsDiameter |
Имя действия в модуле, вставка знака "диаметр". |
ShortCut |
Ctrl+Alt+C |
"Горячая клавиша", по которой будет вызываться указанное действие. |
TAction - InsDegree |
Name |
InsDegree |
Имя действия в модуле, вставка знака "градус". |
ShortCut |
Ctrl+Alt+D |
"Горячая клавиша", по которой будет вызываться указанное действие. |
TAction - InsBolt... |
Name |
InsBolt |
Имя действия в модуле, вставка знака "шестигранник". |
ShortCut |
Назначение уровней доступа к объекту |
"Горячая клавиша", по которой будет вызываться указанное действие. |
TAction - InsPlusMinus |
Name |
InsPlusMinus |
Имя действия в модуле, вставка знака "плюс-минус". |
ShortCut |
Ctrl+Alt+P |
"Горячая клавиша", по которой будет вызываться указанное действие. |
TAction - InsSquare |
Name |
InsSquare |
Имя действия в модуле, вставка знака "квадрат". |
ShortCut |
Ctrl+Alt+S |
"Горячая клавиша", по которой будет вызываться указанное действие. |
TAction - InsDelta |
Name |
InsDelta |
Имя действия в модуле, вставка вставка греческой буквы |
ShortCut |
Ctrl+Alt+L |
"Горячая клавиша", по которой будет вызываться указанное действие. |
TAction - Ins2 |
Name |
Ins2 |
Имя действия в модуле, вставка вставка знака возведения в квадрат. |
ShortCut |
Ctrl+Alt+W |
"Горячая клавиша", по которой будет вызываться указанное действие. |
TAction - Ins3 |
Name |
Ins3 |
Имя действия в модуле, вставка вставка знака возведения в квадрат. |
ShortCut |
Ctrl+Alt+E |
"Горячая клавиша", по которой будет вызываться указанное действие. |
Дважды щелкните мышкой на каждом действии (TAction) в окне редактора действий (см. рис. 11.1). Для каждого действия будут созданы соответствующие процедуры. Введите в тело каждой процедуры соответствующие строки, как указано ниже.
procedure TfmMDIChild.InsDiameterExecute(Sender: TObject);
begin
ClipBoard.SetTextBuf(string(VL_DIAMETER));
// установить в буфер обмена значение конcтанты VL_DIAMETER (см. модуль VLDefinition)
Self.PasteSpecSymbol;
// установить содержимое буфера обмена в текущий компонент редактирования
end;
Остальные процедуры аналогичны указнной выше, различия только в константах, которые необходимо установить в буфер обмена. Создайте процедуры с использованием следующих констант соответственно: VL_DEGREE, VL_BOLT, VL_PLUSMINUS, VL_SQUARE, VL_DELTA, VL_2 и VL_3 (см. модуль VLDefinition).
Таким образом в модуле формы-прототипа fmMDIChild введены дополнительные действия (TAction), которые при нажатии определенных сочетаний клавиш вставляют в компоненты-поля редактирования специальные символы. При этом форма прототип настроена на использование специально созданного для этого шрифта.
Далее...