德尔福 - 使用TApplicationEvents OnShortCut事件检测Alt + C键的按键
题
我使用TApplicationEvents OnShortCut事件得到德尔福程序应用的键盘快捷方式。
使用以下代码:
procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey; var Handled: Boolean) ;
begin
if (Msg.CharCode = VK_F9) then
begin
ShowMessage('F9 pressed!') ;
Handled := True;
end;
end;
问题:
如何检测当 'ALT C' 已被按压?
解决方案
像这样:
procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean);
begin
if (Msg.CharCode = Ord('C'))
and (HiWord(Msg.KeyData) and KF_ALTDOWN <> 0)
then begin
ShowMessage('Alt+C pressed!') ;
Handled := TRUE;
end;
end;
请注意,使用Alt键和一些关键只是一个快捷方式一个不错的选择,因为系统将使用这些来激活菜单项或对话框控件。
其他提示
或者,您可以创建简单TAction,他们在别人面前吃的快捷方式。
不隶属于 StackOverflow