判断按键是否按下去了!

在一些较为特殊的软件中。

比如,人事软件A/B账的问题。会涉及到一些特殊的功能(例如:必须按住键盘左Ctrl键,再按鼠标右键。这样才出现菜单,否则不出现)而只是让公司的人知道而让查厂人员不知道,就需要隐藏或是另定义过程的功能,这样,就皆大欢喜了


下面是以必须按住键盘左Ctrl键,再按鼠标右键。这样才出现菜单来作例子;

使用 GetKeyState(nVirtualKeyCode) 函数就可以达到目的了;


procedure Tfrm_SendKQData_Main.PM_1Popup(Sender: TObject);
begin
  if not ((integer(GetKeyState(VK_LCONTROL)) and integer($80))<>0 ) then Abort;
end;


其实很简单,就是在 POUMENU的 OnPopup 的事件下上面的代码即可


其中 VK_LCONTROL 为键盘左边的CTRL键。


常用的键的nVirtualKeyCode值是:
VK_SHIFT: 任何一个Shift键
VK_LSHIFT: 左边的那个
VK_RSHIFT

VK_CONTROL: 任何一个Ctrl键
VK_LCONTROL
VK_RCONTROL

VK_MENU: 任何一个Alt键
VK_LMENU
VK_RMENU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值