InputBox如何判断是点击的"确定"还是按下"Enter"?[已解决]
本帖最后由 cashiba 于 2017-4-4 23:57 编辑Local $sAnswer = InputBox("询问", "你在哪里出生?", "地球", "")inputbox在使用时,
键盘操作按enter键和鼠标点击“确定”
效果一样。
请问,如何区别是点击的图形界面的“确定”按钮还是键盘发送的“ENTER”? 返回结果是一样的,所以没必要区分是确定还是回车吧。如果焦点不在确定上,回车也按不成:“确定” 本帖最后由 MXSEED 于 2017-4-3 13:35 编辑
结合gui消息和鼠标事件你看可不可以区分,不用inputbox写一个对话框出来 返回结果是一样的,所以没必要区分是确定还是回车吧。如果焦点不在确定上,回车也按不成:“确定”
229989799 发表于 2017-4-2 23:17 http://www.autoitx.com/images/common/back.gif
主要是想通过循环快速连续输入字符串,键盘enter的时候表示输入下一个,鼠标点击"确定"按钮,就表示全部输入完成,关闭界面。所以区分一下操作方式还是有必要的。焦点一般默认是在确定按钮上吧。
如果自己用GUI仿制一个input界面估计容易些,但是如果能只利用内置函数完成可能更便捷
{:face (288):}[ 回复 1# cashiba
笨办法:自己构造一个inputbox
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $if_bt ; 1 代表点击的是确认按钮 2代表点击的是回车
_Temp_InputBox('test','test','test')
If $if_bt = 2 Then
MsgBox(0,'','按了回车')
Else
MsgBox(0,'','没按回车')
EndIf
Func _Temp_InputBox($a,$b,$c)
Local $Form1 = GUICreate($a, 371, 149, 402, 259)
Local $Lable1 = GUICtrlCreateLabel($b, 1, 1, 360, 17)
Local $Input1 = GUICtrlCreateInput($c, 16, 40, 345, 21)
Local $Button1 = GUICtrlCreateButton("确定", 40, 88, 97, 25)
Local $Button2 = GUICtrlCreateButton("cancel", 184, 88, 113, 25)
GUISetState(@SW_SHOW)
HotKeySet('{enter}','_enter')
Local $temp_return = ''
;返回的文字
While 1
Sleep(1)
If $if_bt = 2 Then
$temp_return = GUICtrlRead($Input1)
ExitLoop
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
;按下确定后的函数
$temp_return = GUICtrlRead($Input1)
$if_bt = 1
ExitLoop
Case $Button2
;按下取消
ExitLoop
EndSwitch
WEnd
GUIDelete($Form1)
Return $temp_return
EndFunc
Func _enter()
$if_bt = 2
HotKeySet('{enter}')
EndFunc 回复cashiba
笨办法:自己构造一个inputbox
fenhanxue 发表于 2017-4-3 21:53 http://www.autoitx.com/images/common/back.gif
谢谢!看来只能自己构造GUI了.... 帮助里找找看 回复 6# cashiba
_IsPressed("0D", $dll) 回复cashiba
_IsPressed("0D", $dll)
kk_lee69 发表于 2017-4-4 21:42 http://www.autoitx.com/images/common/back.gif
感谢K侠....
忘了还有这个函数,看见用过,印象不深。
还以为要用到PostMessage之类的。这下记住了.... 这个正好我能用到,感谢 学习学习了。 学习学习了。 {:face (131):} 支持下,不错方法
页:
[1]