wangms 发表于 2014-7-10 21:04:59

【已完美解决--谢谢水木子老师】求教实现combobox回车确认编辑框编辑结束的代码或方法

本帖最后由 wangms 于 2014-7-12 01:46 编辑

组合框combobox编辑框编辑结束后想回车确认,可没有任何反应,据说回车的消息被什么对话框截止。求教各位老师实现回车确认编辑框编辑结束的代码或方法,在此谢谢先啦!!

wangms 发表于 2014-7-10 21:11:24

百度有关资料,可用转换消息的办法,使回车消息重新能被截获,可au3如何实现?

wangms 发表于 2014-7-11 00:17:23

再次请教:回车如何获取到combobox编辑框中的文本?

afan 发表于 2014-7-11 11:10:19

提问时,附上自己的代码是解决问题的捷径

水木子 发表于 2014-7-11 17:02:12

本帖最后由 水木子 于 2014-7-11 19:41 编辑

GUICreate('', 300, 100)
$Combo1 = GUICtrlCreateCombo('', 50, 40, 200, 21)
$Button1 = GUICtrlCreateButton('', 0, 0, 0, 0)
GUICtrlSetState(-1, 32)
Dim $AccelKeys = [['{Enter}', $Button1]]
GUISetAccelerators($AccelKeys)
GUISetState()

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit
                Case $Button1
                        MsgBox(0, 0, GUICtrlRead($Combo1))
        EndSwitch
WEnd

wangms 发表于 2014-7-11 18:40:10

回复 5# 水木子


谢谢老师!!完全符合要求。再次谢谢水木子老师!!!

wangms 发表于 2014-7-11 18:44:39

Dim $AccelKeys = [['{Enter}', $Button1]]
GUISetAccelerators($AccelKeys)

精华啊!!见都没见过,真是大师级老师!

wangms 发表于 2014-7-11 19:02:33

再次请教水木子老师,设置的加速键必须作用于 GUICtrlCreateButton 她吧?

水木子 发表于 2014-7-11 19:48:17

回复 8# wangms

你可以将 GUICtrlCreateButton 替换成 GUICtrlCreateLabel 试试!

winple 发表于 2014-7-13 09:21:05

这一招我已经在用了,灰常的棒那

wangms 发表于 2014-7-13 12:01:53

回复 4# afan


   谢谢大师的真心提醒!我会按照您的要求做的。

lanfengc 发表于 2014-8-26 20:14:13

回复 5# 水木子


    另一种方法是 用 HotKeySet,然后在 while循环里检测窗体是否激活. 激活了 重新注册热键,非激活状态, 取消热键
页: [1]
查看完整版本: 【已完美解决--谢谢水木子老师】求教实现combobox回车确认编辑框编辑结束的代码或方法