找回密码
 加入
搜索
查看: 5669|回复: 13

[AU3基础] AU3进度条怎么连续起来

 火.. [复制链接]
发表于 2010-5-28 18:08:54 | 显示全部楼层 |阅读模式
本帖最后由 ROUSTAR31 于 2010-7-16 21:03 编辑

用AU3做了个进度条,但是进度条是断续的。

怎么才能使其是连续的?

系统环境:XP

已经解决烦请版主改为“以解决”
发表于 2010-5-29 00:13:34 | 显示全部楼层
你没说清楚,什么叫进度条是断续的?可能的话贴一下源码吧!
发表于 2010-5-29 01:06:37 | 显示全部楼层
进度条断续?
如果你发送到控件的数据没有问题,那进度条肯定是平滑的,LZ出现的这种问题你自已要看看你送了什么数据到控件里?没有代码,不知道你出了什么问题
发表于 2010-5-29 20:26:22 | 显示全部楼层
最近的提问好多是“中文版”的
路过...
发表于 2010-5-29 23:28:25 | 显示全部楼层
用AU3做了个进度条,但是进度条是断续的。

怎么才能使其是连续的?

系统环境:XP
ROUSTAR31 发表于 2010-5-28 18:08


建议楼主去学习语文,特别是中文
发表于 2010-5-30 07:49:21 | 显示全部楼层
发表于 2010-5-30 11:06:18 | 显示全部楼层
建议楼主去学习语文,特别是中文
kn007 发表于 2010-5-29 23:28



    精辟
 楼主| 发表于 2010-7-16 10:12:33 | 显示全部楼层
建议楼主去学习语文,特别是中文
kn007 发表于 2010-5-29 23:28



   
怪我没说清楚而已,何必这么损人?
发表于 2010-7-16 10:15:59 | 显示全部楼层
回复 1# ROUSTAR31


    方法一 gui扩展有可选
方法2 加皮肤
发表于 2010-7-16 14:17:20 | 显示全部楼层
怪我没说清楚而已,何必这么损人?
ROUSTAR31 发表于 2010-7-16 10:12



    一个问问题的人,确没有耐心去写自己的问题。。。
想想吧
发表于 2010-7-16 19:43:52 | 显示全部楼层
楼主要学会描述自己的遇到问题。这样的话再结合一下帮助。就不会出现这个贴子了。是不?
这是帮助里面的例子。点开始以后,下面那个进度条就是你想要的效果。

#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>

Opt('MustDeclareVars', 1)

Example()

Func Example()
    Local $progressbar1, $progressbar2, $button, $wait, $s, $msg, $m
   
    GUICreate("我的 GUI 进度条", 220, 100, -1, -1)
    $progressbar1 = GUICtrlCreateProgress(10, 10, 200, 20)
    GUICtrlSetColor(-1, 32250); 在 Windows XP 样式下不工作
    $progressbar2 = GUICtrlCreateProgress(10, 40, 200, 20, $PBS_SMOOTH)
    $button = GUICtrlCreateButton("开始", 75, 70, 70, 20)
    GUISetState()

    $wait = 20; wait 20ms for next progressstep
    $s = 0; progressbar-saveposition
    Do
        $msg = GUIGetMsg()
        If $msg = $button Then
            GUICtrlSetData($button, "停止")
            For $i = $s To 100
                $m = GUIGetMsg()
               
                If $m = -3 Then ExitLoop
               
                If $m = $button Then
                    GUICtrlSetData($button, "继续")
                    $s = $i;保存当前坐标到 $s
                    ExitLoop
                Else
                    $s = 0
                    GUICtrlSetData($progressbar1, $i)
                    GUICtrlSetData($progressbar2, (100 - $i))
                    Sleep($wait)
                EndIf
            Next
            If $i > 100 Then
                ;       $s=0
                GUICtrlSetData($button, "开始")
            EndIf
        EndIf
    Until $msg = $GUI_EVENT_CLOSE
EndFunc   ;==>Example
发表于 2010-7-16 22:27:16 | 显示全部楼层
本帖最后由 辣椒龙 于 2010-7-16 22:28 编辑

晕,我一直都加:DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
然后: $progressbar2 = GUICtrlCreateProgress(10, 40, 200, 20, $PBS_SMOOTH)
才能平滑进度,是不是跟我设置的视觉状态有关系呢?

大家是不是都不用DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0),就可以让进度渐变,而不是一段段的呢?
发表于 2010-7-17 12:06:33 | 显示全部楼层
自己不把提问内容写清楚。让别人如何回答。。
发表于 2010-7-23 11:05:40 | 显示全部楼层
实际上所谓的连续我觉得就是个视觉欺骗 根本不是连续的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-11 02:10 , Processed in 0.080664 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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