奇怪的THOT键行为 - 它不会连续允许相同的热键

Jef*_*eff 1 delphi behavior hotkeys

THOTkey不允许两次使用相同的热键是否正常?

这就是我的意思.

假设我将热键设置为Ctrl + Shift + X. 然后我做了别的事情,然后回来改变它.当我按住Ctrl和Shift时,我意识到我不想更改热键,所以我按住Ctrl + Shift按X键.现在,THotkey拒绝了它.我放开所有的钥匙,再次尝试相同的组合.它仍然不会让我分配该密钥.即使我点击我的表单上的其他地方,然后回去尝试相同的组合,它也不会让我!

这是为什么?我怎么能防止这种情况?

谢谢!

Rob*_*edy 7

当您的THOTKey控件失去焦点时,您说您在系统范围内注册了热键.当您重新进入THOTKey控件时,原始值仍然会被注册,因此当您按下该组合键时,操作系统会拦截它,因为它是已注册的组合键.THOTKey控件永远不会看到它.

当THOTKey控件具有焦点时,您需要取消注册热键.