Форум: "KOL";
Текущий архив: 2012.02.05;
Скачать: [xml.tar.bz2];
ВнизГорячие клавиши Найти похожие ветки
← →
DJ_UZer © (2008-03-22 18:15) [0]Привет все.. Я пишу программу и мне нужно использовать горячии клавиши и сразу у меня возникло 2 вопроса:
1. Как сделать горячии клавиши, пробовал не получилось...
2. Как сделать, чтобы данные клавиши работали и тогда, когда программа свернута?
Всем заранее спасибо..
← →
kichrot (2008-03-25 13:31) [1]procedure TForm1.KOLForm1FormCreate(Sender: PObj);
begin
//например комбинация клавиш Ctrl + Пробел
RegisterHotkey( Form.Handle, 1001, MOD_Control, vk_Space);
end;
function TForm1.KOLForm1Message(var Msg: tagMSG; var Rslt: Integer): Boolean;
begin
Result := FALSE;
if (msg.message=WM_HOTKEY)
and (msg.wParam=1001)
and (Length(ObjEventsArray)>0) then
begin
//свой код
end;
end;
← →
kichrot (2008-03-25 13:35) [2]
> and (Length(ObjEventsArray)>0)
В предыдущем примере это не нужно.
← →
имя (2009-04-19 21:31) [3]Удалено модератором
← →
AHTOLLlKA (2009-05-03 01:34) [4]да.. и не забудь про UnRegisterHotKey
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
protected
procedure hotykey(var msg:TMessage); message WM_HOTKEY;
end;
var
Form1: TForm1;
id,id2:Integer;
implementation
{$R *.DFM}
procedure TForm1.hotykey(var msg:TMessage);
begin
if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=81) then
begin
ShowMessage("Ctrl + Q wurde gedrьckt !");
end;
if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=82)
then
begin
ShowMessage("Ctrl + R w!
urde gedrьckt !");
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
id:=GlobalAddAtom("hotkey");
RegisterHotKey(handle,id,mod_control,81);
id2:=GlobalAddAtom("hotkey2");
RegisterHotKey(handle,id2,mod_control,82);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,id);
UnRegisterHotKey(handle,id2);
end;
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2012.02.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c