![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ALT+key
RagE © (2004-08-26 17:50:00)Подскажите плиз как можно получить в оконной функции WinProc событие на нажатие комбинации клавиш ALT+что то, кроме как используя TranslateAcceleratot, если таковые имеются
GrayFace (2004-08-27 18:52:00) [1]Все прекрасно работает.
if (msg=WM_SysKeyDown) and (wParam=VK_Return) then
RagE (2004-08-27 15:14:00) [2]--------------------------------------------------------------------------------
beatles_bntu © (27.08.04 14:49) [5]
задача совсем другая, мне нужно отловить все множество возможных нажатий а не одно.
--------------------------------------------------------------------------------
KADAN © (27.08.04 14:41) [4]
Я на API делаю, так вот событие просто не вызывается у меня.
beatles_bntu (2004-08-27 14:49:00) [3]Блин неужели этого еще кто то незнает
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
Procedure WMHotkey( Var msg: TWMHotkey );message WM_HOTKEY;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
RegisterHotkey(Handle,1,MOD_ALT, VK_TAB);
end;
procedure TForm1.WMHotkey(var Msg:TWMHotkey);
begin
if(Msg.hotkey=1)then
begin
//здесь пишн че те надо
Application.Restore;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
UnRegisterHotkey(Handle,1);
end;
end.
KADAN (2004-08-27 14:41:00) [4]procedure TForm1.WndProc(var msg: TMessage);
begin
inherited;
if (msg.Msg = WM_SYSKEYDOWN) and (msg.WParam = VK_RETURN) then
showmessage('работает');
end;
RagE (2004-08-27 14:21:00) [5]есть у меня WM_SYSKEYDOWN так вот когда просто альт жму он срабатывает а ALT+ENTER например нет. Пока ничего лучше как сделать таблицу для акселлератора не нашел
KADAN (2004-08-27 13:34:00) [6]The WM_SYSKEYDOWN message is posted to the window with the keyboard focus when the user holds down the ALT key and then presses another key.
RagE (2004-08-27 11:38:00) [7]Неужели никто не ведает?