本帖最后由 Ls60 于 2022-4-6 08:29 编辑
这个例程要追溯到1月份,当时我在研究快捷键,可见:https://bbs.125.la/forum.php?mod=viewthread&tid=14714575&extra=
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | |
|
_热键1_按下某键 | 逻辑型 | | |
键代码 | 整数型 | | | | 功能键状态 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 键名 | 文本型 | | | 监控功能键 | 整数型 | | | 如果真 (位与 (功能键状态, #Ctrl键状态 ) ≠ 0 )调试输出 (“Ctrl键状态” + 到文本 (位与 (功能键状态, #Ctrl键状态 )) )键名 = 键名 + “Ctrl+”监控功能键 = 监控功能键 + 1 如果真 (位与 (功能键状态, #Shift键状态 ) ≠ 0 )调试输出 (“Ctrl键状态” + 到文本 (位与 (功能键状态, #Ctrl键状态 )) )键名 = 键名 + “Shift+”监控功能键 = 监控功能键 + 2 如果真 (位与 (功能键状态, #Alt键状态 ) ≠ 0 )调试输出 (“Ctrl键状态” + 到文本 (位与 (功能键状态, #Ctrl键状态 )) )键名 = 键名 + “Alt+”监控功能键 = 监控功能键 + 4 调试输出 (键名 )
用如上代码取调试热键1(也就是编辑框)的时候出现了下面的问题
功能键状态问题:按照图片里的顺序按功能键,发现不能正常输出我现在按的功能键
目前的情况就是:三个键任意顺序按是能正常输出的,但如果是两个功能键按图中顺序按下,会出现问题(红色标记)
1 | 2 | 3 | 调试结果 | 我想要结果 | Ctrl | Shift | Alt | Ctrl+Shift+Alt+ | Ctrl+Shift+Alt+ | Ctrl | Alt | Shift | Ctrl+Shift+Alt+ | Ctrl+Shift+Alt+ | Shift | Ctrl | Alt | Ctrl+Shift+Alt+ | Ctrl+Shift+Alt+ | Shift | Alt | Ctrl | Ctrl+Shift+Alt+ | Ctrl+Shift+Alt+ | Alt | Shift | Ctrl | Ctrl+Shift+Alt+ | Ctrl+Shift+Alt+ | Alt | Ctrl | Shift | Ctrl+Shift+Alt+ | Ctrl+Shift+Alt+ | | | | | | Ctrl | Shift | | Ctrl+Shift+ | Ctrl+Shift+ | Ctrl | Alt | | Ctrl+Alt+ | Ctrl+Alt+ | Shift | Ctrl | | Shift+ | Ctrl+Shift+ | Shift | Alt | | Shift+Alt | Shift+Alt | Alt | Ctrl | | Alt+ | Ctrl+Alt+ | Alt | Shift | | Alt+ | Shift+Alt+
|
如果你调试过,你会发现知识库里面的介绍完全不够
功能键状态
整数型;用于查看在按下本键的同时各功能键是否被同时按下。可以为以下常量值或其和: 1、#Ctrl键状态; 2、#Shift键状态; 4、#Alt键状态。要判断是否同时按下了某个功能键,在此参数的值与想要得知的功能键的状态常量值之间使用“位与”命令进行比较。如果所得的结果不为零,则表示同时按下了此功能键。
后来经过 @超级萌新 的指点,我又调试了很久。于是就有了这个例程,用这个做快捷键的输入框会比较方便一些,现在分享给大家 |