在一些較爲特殊的軟件中。
比如,人事軟件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