procedure TFrmMain.ApplicationEventsActionExecute(var Msg: tagMSG; var Handled: Boolean);
begin
if (Msg.message = WM_KEYDOWN) then
begin
//ActionFullMode.Execute;
showmessage('aaa');
end
end;
按ALT键时无任何反应,其他键如Ctrl、Shift等都会弹出对话框,我的环境是Windows XP。
begin
if (Msg.message = WM_KEYDOWN) then
begin
//ActionFullMode.Execute;
showmessage('aaa');
end
end;
按ALT键时无任何反应,其他键如Ctrl、Shift等都会弹出对话框,我的环境是Windows XP。
解决方案 »
- Delphi 处理XML 问题
- 大哥们,帮我看看这是怎么回事
- 100分,问题解决,我愿意给你一千分。
- 真正的高手请进,这个问题半个月了没人解答出来:如何获得任意程序中的插入符位置?
- 不懂treeview
- 1。如何调用edit的keypress 事件?2。在dbgrideh 中 footer 汇总字段要选哪些属性?
- 类型数据转换
- 请教:Delphi 6 SOAP/ Web Service程序设计篇
- 一个关于BHO的很有意思的问题
- 用MediaPlayer在win2000播放mp3时,有严重的暴音,音质很差(win98没事),请问有没有别的比较好的的控件?谢谢
- 用过Express QuantumGrid Suit5的朋友请进
- 高手请进,DLL中动态创建主窗口的菜单,但在释放的时候报错?大家都来看看是什么回事啊?
原来的函数是这样的,我想捕获alt+enter键,为了调试改成上述写法,发现根本不响应alt按键!procedure TFrmMain.ApplicationEventsActionExecute(var Msg: tagMSG; var Handled: Boolean);
begin
if (Msg.message = WM_KEYDOWN) and (Msg.wParam=VK_RETURN) and (GetKeyState(VK_MENU)<0) then
begin
ActionFullMode.Execute;
//showmessage('aaa');
end
end;
我把测试程序源代码贴出来,请大家直接拷贝测试一下
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure ApplicationEventsActionExecute(var Msg: tagMSG; var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
application.onmessage := ApplicationEventsActionExecute;
end;procedure TForm1.ApplicationEventsActionExecute(var Msg: tagMSG; var Handled: Boolean);
begin
if (Msg.message = WM_KEYDOWN) then
begin
//ActionFullMode.Execute;
showmessage(IntToStr(Msg.wParam));
end
end;end.
showmessage(IntToStr(Msg.wParam));
按ALT的时候触发的这个消息。