![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Hot Key
veronika © (2005-09-09 00:53:00)как можно зделать следуйше:
чтоб нажатии на == произашло Button1.Click.
cпасибо!
Наиль (2005-09-12 15:05:00) [1]Для F9 onKeyPress не подходит. Только onKeyDown\onKeyUp
msguns (2005-09-12 13:02:00) [2]Без крайней надобности не надо
1. Устанавливать KeyPreview формы
2. "Седлать" событие OnKeyPress/OnKeyDown контрола и (особенно !) формы.
Для централизации управления, назначения "горячих клавиш" и т.д. следует использовать TActionList+TAction
Kolan (2005-09-10 14:52:00) [3]Для варианта [2] надо поставить свойство формы
KeyPreview.
Так же можно зарегистрировать горячие клавиши. Пример:
protected
procedure HotKey(var Msg: TMessage); message WM_HOTKEY;
Эта процедура обработает сообщение о нажатии ггорячей клавиши
var
MainForm: TMainForm;
MeasureHotKey, StartConnectionHotKey, StopHotKey, ReCalcHotKey : Integer;
Это обявление переменных.
StartConnectionHotKey := GlobalAddAtom('StartConnectionHotKey');
RegisterHotKey(Handle, StartConnectionHotKey, 0, VK_F4);
Регистрируем клавиши. Это можно сделать в FormCreate'е
procedure TMainForm.HotKey(var Msg: TMessage);
begin
if Msg.LParamHi = VK_F4 then {Тут любая кнопка вместо F4}
begin
ToolConnectButton.Action.Execute;
end;
end;
Так же клавиши надо удалить например вFormDestroy
UnRegisterHotKey(Handle, StartConnectionHotKey);
Brother (2005-09-09 09:23:00) [4]в процедуре formkeypress
пиши if key=код клавиши F9 then Button1.click;
p.s. код F9 клавиши иши сама #13-Enter
veronika (2005-09-09 02:06:00) [5]как можно зделать следуйше:
чтоб нажатии на F9 произошла Button1.Click.