Форум: "Основная";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];
ВнизРабота с HOTKEY = Найти похожие ветки
← →
Crystalis (2007-11-30 10:13) [0]Трабла с хот-кеями в XP.
недавно делал проект, где задействованы хот-кеи, вот участок:
RegisterHotKey(handle,id_z,0,90);
id_z:=GlobalAddAtom("hotkey");
RegisterHotKey(handle,id_x,0,88);
id_x:=GlobalAddAtom("hotkey");
RegisterHotKey(handle,id_c,0,67);
id_c:=GlobalAddAtom("hotkey");
кстати, этот пример использование хот-кеев, нашёл гдето тут на форумах ;)
В win 2003 сервер, работало всё прекрасно, но у пользователей XP, работал тока 1 хот кей....
поставил себе тоже XP, и сам убедился.....работает только споследний обьявленый хот кей,
т.е. если, приписать RegisterHotKey(handle,id_b,0,66);, то будет только отклик на нажатие b.
Ну а вот пример обработки хоткея:
procedure TForm1.hotykey(var msg:TMessage);
begin
if (msg.LParamHi=90) then
begin
form1.Edit1.Text := form1.Edit1.Text + "z";
end;
if (msg.LParamHi=88) then
begin
form1.Edit1.Text := form1.Edit1.Text + "x";
end;
if (msg.LParamHi=67) then
begin
form1.Edit1.Text := form1.Edit1.Text + "c";
end;
end;
--------------------------------------------------------------
Может кто подскажет мне ошибку ?? или посоветует другой способ работы с хоткеями.
Заранее благодарен.
← →
Leonid Troyanovsky © (2007-12-01 14:50) [1]
> Crystalis (30.11.07 10:13)
> Может кто подскажет мне ошибку ??
Во-первых, id почему-то устанавливается до использования.
Во-вторых, три переменных не нужны, бо значение, возвращаемое
GlobalAddAtom, одно и тоже.
Ну, а в-третьих:
If the window identified by the hWnd parameter already registered a hot key with the same identifier as that specified by the id parameter, the new values for the fsModifiers and vk parameters replace the previously specified values for these parameters.
> или посоветует другой способ работы с хоткеями.
See TAction.
--
Regards, LVT.
← →
Crystalis (2007-12-01 19:44) [2]спасибо
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c