ybbihsse 发表于 2010-12-31 13:37:02

关于热键的问题(热键的作用域)

本帖最后由 ybbihsse 于 2010-12-31 14:58 编辑

如何让热键的作用域只在于某个输入框中,离开这个输入框就失效!!

ceoguang 发表于 2010-12-31 13:59:17

_WinAPI_GetFocus()返回当前焦点,如果不等于句柄,则不执行自定义函数

ybbihsse 发表于 2010-12-31 14:46:31

可是这样子不地呀。HotKeySet用这个更改过热键出了这个输入框,到其他输入框的时候,热键还生效呀。

ac5474012 发表于 2010-12-31 14:51:25

你可以试试这个
if WinActive("提示", "该病人已写报告,是否继续?") then

gapkiller 发表于 2010-12-31 14:52:22

建议你修改标题, 会被锁的`~~

ceoguang 发表于 2010-12-31 14:52:58

_WinAPI_RegisterHotKe

ybbihsse 发表于 2010-12-31 15:02:37


ceoguang 发表于 2010-12-31 14:52 http://www.autoitx.com/images/common/back.gif


    这个是得怎么用呢,回车,空格,和TAB对应的$iModifiers是什么代码呀

ybbihsse 发表于 2010-12-31 15:05:58

ID是要怎么获取的呀??

ceoguang 发表于 2010-12-31 15:19:37

id的值是从0到65535,只是用来标识的,多个热键时不要重复就行了

ybbihsse 发表于 2010-12-31 15:28:34

id的值是从0到65535,只是用来标识的,多个热键时不要重复就行了
ceoguang 发表于 2010-12-31 15:19 http://www.autoitx.com/images/common/back.gif


    那TAB 空格和 回车三个热键分别是什么代码呢?

ceoguang 发表于 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 ]

ybbihsse 发表于 2010-12-31 15:45:26

呵呵,还是不太懂,
比如说焦点在A输入框中,我想让ENTER键变成回车键,然后焦点在B输入框时TAB键变成ENTER键
焦点在C按钮时,ENTER键变成空格键

3mile 发表于 2010-12-31 16:55:35

回复 12# ybbihsse
拦截键盘消息并判断控件ID

kxing 发表于 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=[["{space}",$hent]]
GUISetAccelerators($Acckeys)
guisetstate()

while 1
switch guigetmsg()
case -3
exit
case $hent
msgbox(64,"ok","是否你要得效果!!!")
endswitch
wend

_ddqs. 发表于 2010-12-31 17:54:46

检测焦点控件的句柄
失焦时就反注册热键
----------------------
能实现不
页: [1] 2
查看完整版本: 关于热键的问题(热键的作用域)