szp123 发表于 2009-6-29 21:53:44

AU3加载进度的显示问题

本帖最后由 szp123 于 2009-6-30 10:23 编辑

想问一下如何实现下面的效果,应该恨简单的吧

加载中.
加载中..
加载中...

也就是一直显示加载中,然后那个点从1个变为2个接着变成3个,依此类推,到6个后又变为1个。

呵呵,请大家教教我,谢谢:face (37):

jhun 发表于 2009-6-30 00:12:49

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("测试", 133, 65, 192, 124)
$Label1 = GUICtrlCreateLabel("加载中......", 40, 16, 90, 17)
GUISetState(@SW_SHOW)

While 1
        $SS="加载中."
        $i=1
        While 1
                $SS=$SS&"."
                $i=$i+1
                If $i=6 Then
                        $SS="加载中."
                        $i=1
                EndIf
                GUICtrlSetData($Label1,$SS)
                Sleep(500)
        WEnd
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

szp123 发表于 2009-6-30 10:19:24

羡慕,果然是高手。。
谢谢了。

即即 发表于 2009-7-1 08:20:38

2# jhun

又是一个死循环。

顽固不化 发表于 2009-7-1 12:42:25

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("测试", 133, 65, 192, 124)
$Label1 = GUICtrlCreateLabel("加载中", 40, 16, 90, 17)
GUISetState(@SW_SHOW)
$SS = "."
AdlibRegister("_conut" ,1000)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

Func _conut()
        $SS = $SS & "."
        If StringLen($SS) > 6 Then $SS = "."
        GUICtrlSetData($Label1, "加载中" & $SS)
EndFunc

autoit3CN 发表于 2009-7-1 12:48:33

2# jhun

又是一个死循环。
即即 发表于 2009-7-1 08:20 http://www.autoitx.com/images/common/back.gif
这样处理一下就可以退出了#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("测试", 133, 65, 192, 124)
$Label1 = GUICtrlCreateLabel("加载中", 40, 16, 90, 17)
GUISetState(@SW_SHOW)

While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case Else
        $SS="加载中."
                $i=1
        $T = 0
                while 1
                        if timerdiff($T) > 3000 then
                              $T = timerinit()
                      $SS=$SS&"."
                              $i=$i+1
                              If $i=5 Then
                              $SS="加载中."
                              $i=1
                      EndIf
                   GUICtrlSetData($Label1,$SS)
                           endif
                               if guigetmsg() = -3 then exit
             WEnd
      EndSwitch
WEnd

xulinghai 发表于 2009-7-14 20:12:49

AdlibRegister("_conut" ,1000 )


AdlibRegister是什么?

szp123 发表于 2009-8-3 11:23:35

6# autoit3CN
页: [1]
查看完整版本: AU3加载进度的显示问题