Q
qweasd
Unregistered / Unconfirmed
GUEST, unregistred user!
前两天我用别的帐号发篇贴子,问热键下划线不显示和快捷键失效的问题!
现在原因找到了,热键下划线不显示确实是系统问题,重新系统后好了,(估计是升级到IE6.0所至)。
快捷键失效的原因是这样的:
我在form1上设了一个“全屏”按钮,来调用一个全屏窗口,但我想通过按“ESC”键来关闭全屏窗口
却不行,有一位朋友说是什么东西(忘了)拦截了此消息,所以收不到,所以按下“ESC”键后无效。
然后他给我了一段代码来解决此问题,代码如下:
procedure MyOnMessage(var MSG: TMSG;
var Handle: Boolean);
procedure TFullScreenForm.MyOnMessage(var MSG: TMSG;
var Handle: Boolean);
begin
if ((msg.message=WM_KEYUP) or (msg.message=WM_KEYDOWN))
and (msg.wParam=VK_Escape) then
begin
Handle:=true;
Close;
end;
end;
procedure TFullScreenForm.FormCreate(Sender: TObject);
begin
Height:=Screen.Height;
Width:=Screen.Width;
Application.OnMessage:=MyOnMessage;
end;
用这段代码后,可以按“ESC”键来关闭全屏窗口了,但我终于发现快捷键无效的原因就是这段代码引起的。
所以现在我还希望大家能给我一个解决“ESC”的办法,使“ESC”键可以关闭全屏窗口,但又不使快捷键失效。
拜托各位了!只有20分了,不好意思。
现在原因找到了,热键下划线不显示确实是系统问题,重新系统后好了,(估计是升级到IE6.0所至)。
快捷键失效的原因是这样的:
我在form1上设了一个“全屏”按钮,来调用一个全屏窗口,但我想通过按“ESC”键来关闭全屏窗口
却不行,有一位朋友说是什么东西(忘了)拦截了此消息,所以收不到,所以按下“ESC”键后无效。
然后他给我了一段代码来解决此问题,代码如下:
procedure MyOnMessage(var MSG: TMSG;
var Handle: Boolean);
procedure TFullScreenForm.MyOnMessage(var MSG: TMSG;
var Handle: Boolean);
begin
if ((msg.message=WM_KEYUP) or (msg.message=WM_KEYDOWN))
and (msg.wParam=VK_Escape) then
begin
Handle:=true;
Close;
end;
end;
procedure TFullScreenForm.FormCreate(Sender: TObject);
begin
Height:=Screen.Height;
Width:=Screen.Width;
Application.OnMessage:=MyOnMessage;
end;
用这段代码后,可以按“ESC”键来关闭全屏窗口了,但我终于发现快捷键无效的原因就是这段代码引起的。
所以现在我还希望大家能给我一个解决“ESC”的办法,使“ESC”键可以关闭全屏窗口,但又不使快捷键失效。
拜托各位了!只有20分了,不好意思。