在一些较为特殊的软件中。
比如,人事软件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