Topic: Назначение действий кнопок клавиатуры на кнопки формы.

Какой именно скрипт нужен для сабж?

К примеру:

Нужно, чтоб при нажатии  INSERT на клавиатуре срабатывало нажатие на кнопке активной формы, ( на кнопку ДОБАВИТЬ или НОВОЕ ).

При нажатии DELETE на клаве срабатывала кнопка УДАЛИТЬ на активной форме.

А было бы еще неплохо, сделать в программе назначение кнопок клавиатуры на  различные действия, к примеру как ESC на закрытие либо отмену.

Спасибо.

Re: Назначение действий кнопок клавиатуры на кнопки формы.

У каждого компонента на форме есть событие OnKeyPress
https://c2n.me/3SttDdU Посмотрите справку .
Посмотрите сообщения на форуме воспользовавшись поиском:
http://myvisualdatabase.com/forum/search.php
можно создать процедуру обработки кнопок и сочетаний и повесить её на OnKeyPress каждого компонента  на форме
(как централизованно это сделать сразу для всей формы не знаю )
коды кнопок можно получить как опытным путем так и таблица где то проскакивала на форуме...
....а вот https://www.rapidtables.com/code/text/ascii-table.html , Дмитрий давал .

Re: Назначение действий кнопок клавиатуры на кнопки формы.

Посмотрите пожалуйста данные темы
http://myvisualdatabase.com/forum/viewtopic.php?id=1057
http://myvisualdatabase.com/forum/viewtopic.php?id=690

Dmitry.

Re: Назначение действий кнопок клавиатуры на кнопки формы.

Спасибо. Это всё я читал.
Но какую именно команду надо написать , чтоб было нажатие кнопки на форме?
( вместо ShowMessage )

procedure Form1_OnKeyPress (Sender: string; var Key: Char);

begin
     if Key = #13 then
     begin
          ??????????? // Нажатие кнопки Button1 на форме Form1
     end;
end;


begin
     Form1.KeyPreview := True;
end.

Re: Назначение действий кнопок клавиатуры на кнопки формы.

procedure Form1_OnKeyPress (Sender: TObject; var Key: Char);
begin
     if Key = #13 then
     begin
          Form1.Button1.Click;
     end;
end;

Также у кнопки есть свойство Default, если задействовать его, тогда кнопка будет нажата автоматически, если пользователь нажмет на Enter в каком либо компоненте для ввода информации, например в TextBox.


Таким же образом работает свойство кнопки Cancel, но срабатываем при нажатии Escape.

Dmitry.

Re: Назначение действий кнопок клавиатуры на кнопки формы.

Спасибо.

7 (edited by MarcuZZ 2018-03-13 16:07:17)

Re: Назначение действий кнопок клавиатуры на кнопки формы.

Можно еще одну такую процедуру только с OnKeyDown ?

OnKeyPress с клавишами  Ins ( #45), Del (#46) не работает, а это в основном то что мне надо - клавиши INSERT, DELETE.

Re: Назначение действий кнопок клавиатуры на кнопки формы.

Уже разобрался. Всем спасибо! Поискал на форуме некоторое время, почитал и результат удовлетворил.