能否加个判断知道是在哪一个combox里敲了回车[已解决]
本帖最后由 heroxianf 于 2016-11-6 12:43 编辑#Include <Misc.au3>
#include <ComboConstants.au3>
#include <WindowsConstants.au3>
GUICreate("Form1", 280, 100)
$Combo1 = GUICtrlCreateCombo("Combo1", 20, 20, 200, 30)
GUICtrlSetData(-1, "Combo2|Combo3|Combo4|Combo5")
$Combo2 = GUICtrlCreateCombo("Combo2", 20, 50, 200, 30)
GUICtrlSetData(-1, "Combo2|Combo3|Combo4|Combo5")
GUISetState(@SW_SHOW)
$dll = DllOpen("user32.dll")
While 1
If _IsPressed("0D", $dll) Then MsgBox(0,'回车键被按下', GUICtrlRead($Combo2))
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
WEnd {:face (125):} 不用在循环里判断,直接注册回车快捷键并判断当前的焦点 回复 3# afan
a大,求代码啊 回复 3# afan
A大,注册和获取坐标整不明白了! Global $ik
GUICreate('', 280, 100)
GUICtrlCreateCombo('Combo1', 20, 20, 200, 30)
GUICtrlSetData(-1, 'Combo2|Combo3|Combo4|Combo5')
GUICtrlCreateCombo('Combo2', 20, 50, 200, 30)
GUICtrlSetData(-1, 'Combo2|Combo3|Combo4|Combo5')
GUISetState()
$ik = GUICtrlCreateDummy()
Local $ak = [['{Enter}', $ik]]
GUISetAccelerators($ak)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
Case $ik
MsgBox(0, '', ControlGetFocus('') = 'Edit1' ? 'Combo1' : 'Combo2')
EndSwitch
WEnd 回复 6# afan
谢谢A大,一直用风行者的代码,总想简洁一下。{:face (356):} 本帖最后由 heroxianf 于 2016-11-6 13:51 编辑
回复 6# afan
A大,Local $ak = [['{Enter}', $ik]] 怎么确定这个数组就是这个值呢?是不是有其他值的存在? 回复 8# heroxianf
看下 GUISetAccelerators() 帮助 回复 9# afan
大体明白了,我修改成事件模式就没有效果了,是不是不支持事件模式? 回复afan
大体明白了,我修改成事件模式就没有效果了,是不是不支持事件模式?
heroxianf 发表于 2016-11-6 14:48 http://www.autoitx.com/images/common/back.gif
支持事件模式!是你不会改! 回复 11# chzj589
不要说的那么直白嘛( ˘͈ ᵕ ˘͈ ) 回复 11# chzj589
搞定了,这小事A大又会说不注意基础了。 丢人啊{:face (197):} 本帖最后由 chzj589 于 2016-11-6 21:22 编辑
回复 13# heroxianf
代码过不了是经常的事,但不要急躁,要有耐心----
抽根烟,喝杯茶,认真检查一遍代码,寻找思路,查看帮助,搜索帖子------
会找到答案的。 回复 14# chzj589
你说的对,我现在把之前消息模式全部转成事件模式 有点要自己检查一下。
页:
[1]
2