[已解决]当点击某一按钮后如何显示一个动态图片以示程序正在执行?
本帖最后由 smooth 于 2014-2-6 11:32 编辑当点击某一按钮后如何显示一个动态图片以示程序正在执行?比如当点击一个 Button之后,一幅动态图片就出现在指定的区域在转动,以示程序正在执行中,当出现MSGBOX或其他事件后,就消失不见。很多程序都是这样做的,谢谢! 本帖最后由 hnfeng 于 2014-1-29 17:35 编辑
我也希望有此功能,但是结果比较失望的。目前可以暂用 SplashTextOn 来处理,显示个文本框。
http://www.autoitx.com/thread-43450-1-1.html
我觉得是否可以调用某个系统中的DLL来实现,因为许多程序有这个功能的,貌似系统自带的。 你搜搜啊貌似坛子里面有而且AFAN估计弄过。。。 忘记了你也可以用splashimageon来不断的更新图片实现动画啊就像是GIF 图片格式也可以:
#include <GuiConstantsEx.au3>
$Form1 = GUICreate("", 250, 250,-1,-1)
$Pic1 = GUICtrlCreatePic("logo1.jpg", 5, 5, 200, 200)
AdlibRegister('_timer',300)
Dim $m=0
GUISetState()
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
Func _timer()
$m += 1
If $m = "1"Then GUICtrlSetImage($Pic1, "logo2.jpg")
If $m = "2"Then GUICtrlSetImage($Pic1, "logo1.jpg")
If $m = "3"Then $m = 0
EndFunc 先在程序的开始(找个合适的位置),创建一个GUI,并加载一个动态AVI文件,但是先不显示出来,
Global $Form_M = GUICreate("", 340, 100, -1, -1, BitOR($DS_MODALFRAME, $WS_POPUPWINDOW))
GUICtrlCreateLabel("数据库初始化正在进行中,请稍后...... ", 40, 40, 260, 80)
GUICtrlCreateAvi($Findfileavi, 0, 280, 30, 32, 32, $ACS_AUTOPLAY)
然后在程序中,你想要显示动态AVI的地方,插入以下代码就可以了:
GUISetState(@SW_SHOW)
WinWaitActive($Form_M)
WinSetOnTop($Form_M, "", 1)
然后在程序中,合适的时点将这个GUI隐藏就行了
GUISetState(@SW_HIDE, $Form_M)
回复 5# smooth
谢谢分享,学习了 感谢楼主分享,辛苦了。 先在程序的开始(找个合适的位置),创建一个GUI,并加载一个动态AVI文件,但是先不显示出来,然后在程序中, ...
smooth 发表于 2014-2-6 11:32 http://www.autoitx.com/images/common/back.gif
不需要这个窗口显示的时候,不要将其隐藏起来,而是使用GUIDELETE(句柄)来将其删除。这样做的好处是退出程序时,可以删除释放的AVI文件。
页:
[1]