问题:
窗口上有几个Button按钮,当其中一个得到焦点时,我用上下左右键,它会移动到上一个,或下一个按钮上。现在我想把这几个键屏蔽掉,换成我自己有事件!如何?我重载WndProc也不行:
procedure TACdFrm.Wndproc(var Message:TMessage);
var
ccode:Word;
begin
Case Message.Msg of
WM_KEYUP,WM_KEYDOWN:
begin
//Do some things
exit;
end;
inherited Wndproc(Message);
end;
窗口上有几个Button按钮,当其中一个得到焦点时,我用上下左右键,它会移动到上一个,或下一个按钮上。现在我想把这几个键屏蔽掉,换成我自己有事件!如何?我重载WndProc也不行:
procedure TACdFrm.Wndproc(var Message:TMessage);
var
ccode:Word;
begin
Case Message.Msg of
WM_KEYUP,WM_KEYDOWN:
begin
//Do some things
exit;
end;
inherited Wndproc(Message);
end;
procedure OnMessage(var Msg: tagMSG; var Handled: Boolean);procedure TForm1.OnMessage(var Msg: tagMSG;
var Handled: Boolean);
begin
if (Msg.message = WM_KEYDOWN) or (Msg.message = WM_KEYUP) then
begin
//Do some things
Handled := True;
end
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := OnMessage;
end;