一个界面,在3.7几有问题,在3.3.6.1就没有,麻烦大家帮忙测试下
本帖最后由 iori2882 于 2012-4-18 22:42 编辑下面的代码,,在3.7几的版本有个问题,点$Button2可以刷新界面,在点回$Button1也可以刷新界面,但是 点到$Button3在点回Button2就切换不回去了点击界面的叉退出也退出不了。但是在3.3.6.1就完全好用,,,麻烦大家用3.7几版本的,帮忙测试一下,看是我机器问题还是版本问题。
而且我大量的用到了GUISetState(@SW_SHOW, $zhu_gui)之类的语句,导致在页面切换到时候有的时候会卡,有别的办法么?
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#region ### START Koda GUI section ### Form=
Global $zhu_gui = GUICreate("界面预览", 600, 400, -1, -1)
GUISetBkColor(0x4682B4)
$Button1 = GUICtrlCreateButton("Button1", 24, 24, 83, 57)
$Button2 = GUICtrlCreateButton("Button2", 232, 32, 75, 49)
$Button3 = GUICtrlCreateButton("Button3", 432, 32, 75, 49)
$ne_gui1 = GUICreate("", 600 - 20, 260, 10, 110, $WS_POPUP, $WS_EX_MDICHILD, $zhu_gui)
$Button4 = GUICtrlCreateButton("Button4", 64, 168, 75, 25)
$Input1 = GUICtrlCreateInput("Input1", 176, 192, 145, 21)
$Edit1 = GUICtrlCreateEdit("", 400, 208, 121, 105)
GUICtrlSetData(-1, "Edit1")
$MonthCal1 = GUICtrlCreateMonthCal("2012/04/16", 184, 120, 267, 153)
$ne_gui2 = GUICreate("", 600 - 20, 260, 10, 110, $WS_POPUP, $WS_EX_MDICHILD, $zhu_gui)
$Button5 = GUICtrlCreateButton("Button5", 64, 168, 75, 25)
$List1 = GUICtrlCreateList("", 224, 208, 121, 97)
$Combo1 = GUICtrlCreateCombo("Combo1", 416, 168, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
$Progress1 = GUICtrlCreateProgress(424, 288, 150, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
Local $oIE = _IECreateEmbedded()
$ne_gui3=GUICreate("", 580, 260, 10, 110,$WS_POPUP,$WS_EX_MDICHILD,$zhu_gui)
GUICtrlCreateObj($oIE, 1, 1, 580, 260)
Local $GUI_Button_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30)
Local $GUI_Button_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30)
Local $GUI_Button_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30)
Local $GUI_Button_Stop = GUICtrlCreateButton("Stop", 340, 420, 100, 30)
GUICtrlSetColor(-1, 0x0860a8)
GUISetState(@SW_SHOW, $zhu_gui)
GUISetState(@SW_SHOW, $ne_gui1)
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $Button1
GUISetState(@SW_SHOW, $zhu_gui)
GUISetState(@SW_SHOW, $ne_gui1)
GUISetState(@SW_HIDE, $ne_gui2)
GUISetState(@SW_HIDE, $ne_gui3)
Case $Button2
GUIDelete($Button3 )
GUISetState(@SW_SHOW, $zhu_gui)
GUISetState(@SW_HIDE, $ne_gui1)
GUISetState(@SW_SHOW, $ne_gui2)
GUISetState(@SW_HIDE, $ne_gui3)
Case $Button3
GUISetState(@SW_HIDE, $ne_gui1)
GUISetState(@SW_HIDE, $ne_gui2)
GUISetState(@SW_SHOW, $zhu_gui)
GUISetState(@SW_SHOW, $ne_gui3)
_IENavigate($oIE, "http://www.163.com")
Case $Button4
MsgBox(0, 0, 4)
Case $Button5
MsgBox(0, 0, 5)
EndSwitch
WEnd
GUIDelete() 回复 1# iori2882
你代码里相应位置改为以下的:
_IENavigate($oIE, "http://www.163.com", 0)
这已经是'常识', 论坛上已有不少这方面的提问和交流的帖子!
在一些AU3版本中, 用IE..au3打开链接时, 如果是默认要等待的话, 经常要等很久!
我尝试过等十几分钟后能返回.
所以, 如果是我, 绝对会用 0 让它立即返回!
如果还要继续进行网页操作, 则下一步要加上相应的 Sleep 延迟! 回复 1# iori2882
应该跟版本没关系,因为IENavigate没加载完毕,所以不能切换.
点击$Button3后多等一会儿试试,或者让_IENavigate立即返回试试.
_IENavigate ( ByRef $o_object, $s_url [, $f_wait = 1] )
[可选参数]: 指定在返回前是否等待窗口加载完毕
0 = 立即返回,不等待窗口加载
1 = (默认)等待窗口加载完毕后返回 哎,我最怕的是写不出代码,而不是排查问题,你的系统没换,只是AU3换了个版本,怎么也不是GUISetState得问题吧,你换版本但是 点到$Button3在点回Button2就切换不回去了,你是要检查$Button3的事件吧,明显是_IENavigate($oIE, "http://www.163.com")捣的鬼,随便翻翻_IENavigate的帮助文档,有试过这样吗你:
_IENavigate ($oIE, "http://www.autoitscript.com",0)
一直没换版本么法帮你测 湿了,知道已有人解决偶就不掺和了。 在3.7.x 版本出现时已发现这问题,直到3.9已经修正了 回复 6# 风行者
我用3.3.7.21测试的,没发现有这个问题啊??
下面两个代码都没问题的...
_IENavigate($oIE, "http://www.163.com")
_IENavigate($oIE, "http://www.163.com", 0) 3.3.9.4正常。 恩 谢谢大家了 昨天有事没上.....
_IENavigate($oIE, "http://www.163.com", 0)
后面加上0确实是能行了
但是在3.3.6.1里面 不加0也是好用的....3.7里面 那网页确实加载完毕了 也不行
好像不是返回没返回完的事情,,,应该是个小BUG吧..... 回复风行者
我用3.3.7.21测试的,没发现有这个问题啊??
下面两个代码都没问题的...
_IENavigat ...
lixiaolong 发表于 2012-4-19 12:24 http://www.autoitx.com/images/common/back.gif
我的版本是3.3.7.15 可以正常切 3.3.9.4 回复 1# iori2882
我的也是3.3.7.15,不能返回,但是加了0后就能立即返回了。
页:
[1]