找回密码
 加入
搜索
查看: 6154|回复: 20

[系统综合] 关于热键的问题(热键的作用域)

 火.. [复制链接]
发表于 2010-12-31 13:37:02 | 显示全部楼层 |阅读模式
本帖最后由 ybbihsse 于 2010-12-31 14:58 编辑

如何让热键的作用域只在于某个输入框中,离开这个输入框就失效!!
发表于 2010-12-31 13:59:17 | 显示全部楼层
_WinAPI_GetFocus()
返回当前焦点,如果不等于句柄,则不执行自定义函数
 楼主| 发表于 2010-12-31 14:46:31 | 显示全部楼层
可是这样子不地呀。HotKeySet用这个更改过热键出了这个输入框,到其他输入框的时候,热键还生效呀。
发表于 2010-12-31 14:51:25 | 显示全部楼层
你可以试试这个
if WinActive("提示", "该病人已写报告,是否继续?") then
发表于 2010-12-31 14:52:22 | 显示全部楼层
建议你修改标题, 会被锁的`~~
发表于 2010-12-31 14:52:58 | 显示全部楼层
_WinAPI_RegisterHotKe
 楼主| 发表于 2010-12-31 15:02:37 | 显示全部楼层
ceoguang 发表于 2010-12-31 14:52



    这个是得怎么用呢,回车,空格,和TAB对应的$iModifiers是什么代码呀
 楼主| 发表于 2010-12-31 15:05:58 | 显示全部楼层
ID是要怎么获取的呀??
发表于 2010-12-31 15:19:37 | 显示全部楼层
id的值是从0到65535,只是用来标识的,多个热键时不要重复就行了
 楼主| 发表于 2010-12-31 15:28:34 | 显示全部楼层
id的值是从0到65535,只是用来标识的,多个热键时不要重复就行了
ceoguang 发表于 2010-12-31 15:19



    那TAB 空格  和 回车三个热键分别是什么代码呢?
发表于 2010-12-31 15:31:15 | 显示全部楼层
misc.au3内有定义
;                  01 Left mouse button
;                  02 Right mouse button
;                  04 Middle mouse button (three-button mouse)
;                  05 Windows 2000/XP: X1 mouse button
;                  06 Windows 2000/XP: X2 mouse button
;                  08 BACKSPACE key
;                  09 TAB key
;                  0C CLEAR key
;                  0D ENTER key
;                  10 SHIFT key
;                  11 CTRL key
;                  12 ALT key
;                  13 PAUSE key
;                  14 CAPS LOCK key
;                  1B ESC key
;                  20 SPACEBAR
;                  21 PAGE UP key
;                  22 PAGE DOWN key
;                  23 END key
;                  24 HOME key
;                  25 LEFT ARROW key
;                  26 UP ARROW key
;                  27 RIGHT ARROW key
;                  28 DOWN ARROW key
;                  29 SELECT key
;                  2A PRINT key
;                  2B EXECUTE key
;                  2C PRINT SCREEN key
;                  2D INS key
;                  2E DEL key
;                  30 0 key
;                  31 1 key
;                  32 2 key
;                  33 3 key
;                  34 4 key
;                  35 5 key
;                  36 6 key
;                  37 7 key
;                  38 8 key
;                  39 9 key
;                  41 A key
;                  42 B key
;                  43 C key
;                  44 D key
;                  45 E key
;                  46 F key
;                  47 G key
;                  48 H key
;                  49 I key
;                  4A J key
;                  4B K key
;                  4C L key
;                  4D M key
;                  4E N key
;                  4F O key
;                  50 P key
;                  51 Q key
;                  52 R key
;                  53 S key
;                  54 T key
;                  55 U key
;                  56 V key
;                  57 W key
;                  58 X key
;                  59 Y key
;                  5A Z key
;                  5B Left Windows key
;                  5C Right Windows key
;                  60 Numeric keypad 0 key
;                  61 Numeric keypad 1 key
;                  62 Numeric keypad 2 key
;                  63 Numeric keypad 3 key
;                  64 Numeric keypad 4 key
;                  65 Numeric keypad 5 key
;                  66 Numeric keypad 6 key
;                  67 Numeric keypad 7 key
;                  68 Numeric keypad 8 key
;                  69 Numeric keypad 9 key
;                  6A Multiply key
;                  6B Add key
;                  6C Separator key
;                  6D Subtract key
;                  6E Decimal key
;                  6F Divide key
;                  70 F1 key
;                  71 F2 key
;                  72 F3 key
;                  73 F4 key
;                  74 F5 key
;                  75 F6 key
;                  76 F7 key
;                  77 F8 key
;                  78 F9 key
;                  79 F10 key
;                  7A F11 key
;                  7B F12 key
;                  7C-7F F13 key - F16 key
;                  80H-87H F17 key - F24 key
;                  90 NUM LOCK key
;                  91 SCROLL LOCK key
;                  A0 Left SHIFT key
;                  A1 Right SHIFT key
;                  A2 Left CONTROL key
;                  A3 Right CONTROL key
;                  A4 Left MENU key
;                  A5 Right MENU key
;                  BA ;
;                  BB =
;                  BC ,
;                  BD -
;                  BE .
;                  BF /
;                  C0 `
;                  DB [
;                  DC \
;                  DD ]
 楼主| 发表于 2010-12-31 15:45:26 | 显示全部楼层
呵呵,还是不太懂,
比如说焦点在A输入框中,我想让ENTER键变成回车键,然后焦点在B输入框时TAB键变成ENTER键
焦点在C按钮时,ENTER键变成空格键
发表于 2010-12-31 16:55:35 | 显示全部楼层
回复 12# ybbihsse
拦截键盘消息并判断控件ID
发表于 2010-12-31 16:57:56 | 显示全部楼层
用键盘加速器。
#include <GUIConstantsEx.au3>

guicreate("局部热键",200,100)
guictrlcreatelabel("暗下空格看看!!!!!!",10,10,180,20)
$hent=guictrlcreatebutton("",0,0,0,0)
guictrlsetstate(-1,$gui_hide)
Local $Acckeys[1][2]=[["{space}",$hent]]
GUISetAccelerators($Acckeys)
guisetstate()

while 1
switch guigetmsg()
case -3
exit
case $hent
msgbox(64,"ok","是否你要得效果!!!")
endswitch
wend
发表于 2010-12-31 17:54:46 | 显示全部楼层
检测焦点控件的句柄
失焦时就反注册热键
----------------------
能实现不
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 18:56 , Processed in 0.079237 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表