Mr.Cherry Опубликовано 25 ноября, 2005 Жалоба Поделиться Опубликовано 25 ноября, 2005 Хай народ! Как повесить действие на нажатие клавиши на клаве? KeyPress не подходит :) :) (там только запрет на ввод можно). Горячие клавиши - это комбинации клавиш , а мне нужно на одну клавишу :) . :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 25 ноября, 2005 Жалоба Поделиться Опубликовано 25 ноября, 2005 Надо обявит функцию/процедуру для сообщение procedure WMKeyDown(var Message: TMessage); message WM_KEYDOWN Ссылка на комментарий Поделиться на другие сайты Поделиться
Mr.Cherry Опубликовано 26 ноября, 2005 Автор Жалоба Поделиться Опубликовано 26 ноября, 2005 Что то не рублю. Я только недавно программингом занялся, так что можно поподробнее? Ссылка на комментарий Поделиться на другие сайты Поделиться
Darth Emil Опубликовано 26 ноября, 2005 Жалоба Поделиться Опубликовано 26 ноября, 2005 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin Label2.Caption := IntToStr(Key); end; end. Ссылка на комментарий Поделиться на другие сайты Поделиться
Mr.Cherry Опубликовано 27 ноября, 2005 Автор Жалоба Поделиться Опубликовано 27 ноября, 2005 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin Label2.Caption := IntToStr(Key); end; end. Не Darth Emil, это мне не подходит :sm(100): , мне нужна одиночная горячая клавиша. Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 27 ноября, 2005 Жалоба Поделиться Опубликовано 27 ноября, 2005 Mr.Cherry Ты можеш указать процедуру, которая будет визвана при данного собитие (в случае - KeyDown) В TMessage подаеться дополнительная информация о собитие - например клавиш, который нажал пользватель. Так каждий раз, когда пользватель нажмет на кнопку, твоя процедура WMKeyDown выполниться и в Message.Wparam будет содержиться нажатий калвиш - например VK_F7 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти