![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
HotKey [Delphi, Windows]
Ripper © (2005-04-01 22:53:00)Доброго времени суток, уважаемые мастера!
вот код Unit'a с использованием VCL: при нажатии определенной клавиши происходит действие
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
{ Private declarations }
public
{ Public declarations }
end;
const
MyHotKey = ord('1'); //клавиша
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
MessageBeep(0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Form1.Handle, MyHotKey, 0, MyHotKey);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Form1.Handle, MyHotKey);
end;
end.
Как изменить код чтобы работал в MCK проекте?
ECM (2005-04-02 11:43:00) [1]А вообще-то, надо читать FAQ - там это есть
http://kolnmck.ru/faq.htm
ECM (2005-04-02 11:27:00) [2]1. (Un)RegisterHotKey - будут работать и в КОЛ (Form.Handle,...)
там же...
2. Остается поймать WM_HOTKEY:
function TMainForm.KOLForm1Message(var Msg: tagMSG;
var Rslt: Integer): Boolean;
begin
Result := FALSE;
Case Msg.message of
WM_HOTKEY: begin
MessageBeep(MB_ICONASTERISK);
Result := TRUE;
end;
...
end;