找回密码
 加入
搜索
查看: 4398|回复: 7

[AU3基础] [已解决]当点击某一按钮后如何显示一个动态图片以示程序正在执行?

  [复制链接]
发表于 2014-1-29 15:39:55 | 显示全部楼层 |阅读模式
本帖最后由 smooth 于 2014-2-6 11:32 编辑

当点击某一按钮后如何显示一个动态图片以示程序正在执行?比如当点击一个 Button之后,一幅动态图片就出现在指定的区域在转动,以示程序正在执行中,当出现MSGBOX或其他事件后,就消失不见。很多程序都是这样做的,谢谢!
发表于 2014-1-29 17:32:13 | 显示全部楼层
本帖最后由 hnfeng 于 2014-1-29 17:35 编辑

我也希望有此功能,但是结果比较失望的。目前可以暂用 SplashTextOn 来处理,显示个文本框。

http://www.autoitx.com/thread-43450-1-1.html

我觉得是否可以调用某个系统中的DLL来实现,因为许多程序有这个功能的,貌似系统自带的。
发表于 2014-1-31 13:56:46 | 显示全部楼层
你搜搜啊  貌似坛子里面有  而且AFAN估计弄过。。。    忘记了  你也可以用splashimageon来不断的更新图片实现动画啊  就像是GIF
发表于 2014-1-31 20:51:37 | 显示全部楼层
图片格式也可以:

#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
 楼主| 发表于 2014-2-6 11:32:02 | 显示全部楼层
先在程序的开始(找个合适的位置),创建一个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)
发表于 2014-2-6 12:17:31 | 显示全部楼层
回复 5# smooth


    谢谢分享,学习了
发表于 2014-3-11 13:39:31 | 显示全部楼层
感谢楼主分享,辛苦了。
 楼主| 发表于 2014-3-14 15:41:43 | 显示全部楼层
先在程序的开始(找个合适的位置),创建一个GUI,并加载一个动态AVI文件,但是先不显示出来,然后在程序中, ...
smooth 发表于 2014-2-6 11:32


不需要这个窗口显示的时候,不要将其隐藏起来,而是使用GUIDELETE(句柄)来将其删除。这样做的好处是退出程序时,可以删除释放的AVI文件。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 14:50 , Processed in 0.140300 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表