Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 4977|回复: 3

检测窗体的Alt键

[复制链接]

该用户从未签到

发表于 2009-7-20 11:20:54 | 显示全部楼层 |阅读模式
  1. procedure TForm1.FormShortCut(var Msg: TLMKey; var Handled: Boolean);
  2. begin
  3.   if ((Msg.KeyData shr 16) and 8192{KF_ALTDOWN} <> 0) then begin
  4.     Handled := true;
  5.     ShowMessage('Alt key be pressed!.');
  6.   end;
  7. end;  
复制代码

考虑到跨平台,所以只能用8192,KF_ALTDOWN在Windows单元中定义。
以上代码在Lazraus 0.9.27中验证通过。
回复

使用道具 举报

该用户从未签到

发表于 2009-7-20 11:45:30 | 显示全部楼层
可以在win和linux下通过吗?
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2009-7-20 19:03:39 | 显示全部楼层
怎么检测 Alt 键被释放呢?
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2009-7-21 11:30:16 | 显示全部楼层
引用第1楼猫工于2009-07-20 11:45发表的  :
可以在win和linux下通过吗?

因为我特意去掉了Windows单元,所以应该可以在Linux下用。
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 20:04 , Processed in 0.033334 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表