|
本帖最后由 chiron_shen 于 2013-7-5 10:57 编辑
如下程序, 使用了事件模式
希望的运行结果:
1. 点 start 按钮
2.在出来的input name 输入框中输入字符
3.隐藏 input name 输入框 , 显示 input Number 输入框
可实际运行的结果是 input name 输入后 马上又回到 input name ,而没有出现预期的input Number 输入框 , 好像是再次调用了start函数
经过分析, 2个方法可以避免错误的结果,
1. 将 $start 变量 下面的 GUICtrlSetBkColor(-1,0x00ff00) 屏蔽
2. 将$xing_ming_tilte 和 $xing_ming_input 放到 $input_number_title 和 $input_number前面 也就是 GUICtrlSetFont(-1,24) 下面
求大侠指点 问题出在哪里?#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
#include <GUIConstantsEx.au3>
#Include <GuiButton.au3>
Global $start,$input_number_title,$input_number,$xing_ming_tilte,$xing_ming_input
Opt("GUIOnEventMode", 1)
$main=GUICreate("GUESS",750,600)
$start=GUICtrlCreateButton("START",280,280,200,100)
GUICtrlSetBkColor(-1,0x00ff00)
GUICtrlSetFont(-1,24)
$input_number_title=GUICtrlCreateLabel("INPUT Number",100,80)
$input_number=GUICtrlCreateInput("",100,100,200,30)
$xing_ming_tilte=GUICtrlCreateLabel("INPUT NAME",100,80)
$xing_ming_input=GUICtrlCreateInput("",100,100,200,30)
GUISetState()
GUICTRLSetState($xing_ming_tilte,$GUI_HIDE)
GUICTRLSetState($xing_ming_input,$GUI_HIDE)
GUICTRLSetState($input_number_title,$GUI_HIDE)
GUICTRLSetState($input_number,$GUI_HIDE)
GUISetOnEvent($GUI_EVENT_CLOSE,'CLOSE')
GUIctrlSetOnEvent($start,'START')
GUIctrlSetOnEvent($xing_ming_input,'CHECK_NAME')
while 1
sleep(100)
WEnd
Func close()
Exit
EndFunc
Func START()
GUICTRLSetState($start,$GUI_NOFOCUS)
GUICTRLSetState($start,$GUI_HIDE)
GUICTRLSetState($xing_ming_tilte,$GUI_SHOW)
GUICTRLSetState($xing_ming_input,$GUI_SHOW)
GUICTRLSetState($xing_ming_input,$GUI_FOCUS)
GUICtrlSetData($xing_ming_input,"")
EndFunc
Func CHECK_NAME()
$xing_ming=GUICtrlRead($xing_ming_input)
WinSetTitle("GUESS","","GUESS---"&$xing_ming)
GUICTRLSetState($xing_ming_tilte,$GUI_HIDE)
GUICTRLSetState($xing_ming_input,$GUI_HIDE)
GUICTRLSetState($input_number_title,$GUI_SHOW)
GUICTRLSetState($input_number,$GUI_SHOW)
GUICTRLSetState($input_number,$GUI_FOCUS)
GUICtrlSetData($input_number,"")
EndFunc
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入
×
|