|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как отключить hotkeys
я создал хоткей:
Код:
unit Unit22; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type Tfunk = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; CheckBox1: TCheckBox; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } hotkey1: Integer; procedure WMHotKey(var Msg : TWMHotKey); message WM_HOTKEY; //хоткей нарки public { Public declarations } end; var funk: Tfunk; implementation {$R *.dfm} procedure Tfunk.FormCreate(Sender: TObject); const MOD_CONTROL = 2; VK_F2 = 113; //нарка begin hotkey1 := GlobalAddAtom('Hotkey1'); //нарка RegisterHotKey(handle, hotkey1, 0, VK_F2); //нарка end; procedure Tfunk.FormDestroy(Sender: TObject); begin UnRegisterHotKey(handle, hotkey1); //нарка end; procedure Tfunk.WMHotKey (var Msg : TWMHotKey); begin if msg.HotKey = hotkey1 then keybd_event(50,0,0,0); //нарка if msg.HotKey = hotkey1 then keybd_event(51,0,0,0); //нарка if msg.HotKey = hotkey1 then keybd_event(52,0,0,0); //нарка if msg.HotKey = hotkey1 then keybd_event(50,0,keyeventf_keyup,0 ); //нарка if msg.HotKey = hotkey1 then keybd_event(51,0,keyeventf_keyup,0 ); //нарка if msg.HotKey = hotkey1 then keybd_event(52,0,keyeventf_keyup,0 ); //нарка end; end. но как мне в чек-боксе сделать так, чтобы он мог отключатся т.е. чтобы хоткей неработал |
#2
|
||||
|
||||
Цитата:
Цитата:
|
#3
|
||||
|
||||
Что мешало написать это самому?
Код:
var HotKey : HATOM; procedure TForm1.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked then begin HotKey := GlobalAddAtom('Hotkey1'); //нарка RegisterHotKey(Handle, HotKey, 0, VK_F2); //нарка end else begin UnRegisterHotKey(Handle, HotKey); GlobalDeleteAtom(HotKey); end; end; procedure Tfunk.WMHotKey (var Msg : TWMHotKey); begin if msg.HotKey = HotKey then keybd_event(50, 0, 0, 0); //нарка if msg.HotKey = HotKey then keybd_event(51, 0, 0, 0); //нарка if msg.HotKey = HotKey then keybd_event(52, 0, 0, 0); //нарка if msg.HotKey = HotKey then keybd_event(50, 0, keyeventf_keyup, 0); //нарка if msg.HotKey = HotKey then keybd_event(51, 0, keyeventf_keyup, 0); //нарка if msg.HotKey = HotKey then keybd_event(52, 0, keyeventf_keyup, 0); //нарка end; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#4
|
|||
|
|||
Цитата:
[Error] Unit22.pas(28): Undeclared identifier: 'HATOM' |