Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2009, 22:11   #1
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию Вопрос по использованию горячих клавиш и Enter в Delphi

В компонент Edit вводятся какие-то данные. Есть кнопка "Сохранить", после нажатия которой введенные данные сохраняются.
Как сделать чтобы вместо нажатия кнопки, заставить эту функцию выполнять кнопку Enter на клавиатуре?
Можно ли добавить в программу использование "горячих клавиш", как например ctrl+z ?
Evgenii вне форума Ответить с цитированием
Старый 16.06.2009, 22:26   #2
kinderproc
Пользователь
 
Регистрация: 10.06.2009
Сообщений: 13
По умолчанию

Свойство формы ставишь KeyPreview в True. В обработчике формы OnKeyDown пишешь:

Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_RETURN then
    Button1.Click;
end;
Для Ctrl и z:

Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = ord('z')) or (Key = ord('Z')) and (ssCtrl in Shift) then
    Button1.Click;
end;
Или же есть второй, более корректный вариант использовать компонент ActionList с вкладки Standart, ну об этом в любой книге по Delphi написано.
kinderproc вне форума Ответить с цитированием
Старый 16.06.2009, 22:28   #3
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию

Большое спасибо!!!
Evgenii вне форума Ответить с цитированием
Старый 16.06.2009, 22:31   #4
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Например, комбинация клавиш Ctrl + Space
Код:
  RegisterHotkey( Form.Handle, 1001, MOD_Control, vk_Space);
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по использованию SQLite в delphi ROFF Помощь студентам 1 06.05.2009 09:26
Вопрос по использованию OLE yngwie Общие вопросы C/C++ 0 19.03.2009 00:56
Отлов горячих клавиш, Builder C++ 6.0 MsF C++ Builder 2 24.02.2009 11:02
Срочно требуется помощь с привязкой горячих клавиш..... Jinxers Операционные системы общие вопросы 4 08.02.2009 20:09
Как сделать привязку глобальных горячих клавиш к свой проге? Jinxers Помощь студентам 1 08.02.2009 00:29