2011-03-02 97 views
0

使用VB6连续进度条

我想在代码运行时显示连续的进度条。

进度条不断运行。一旦编码过程完成,进展应该是不可见的。

如何使代码的不断进步条

需要VB6代码帮助

+2

直到版本6(使用Windows XP)时,常用控件进度条中没有引入“字幕”样式。使用VB 6的这种风格相对简单,只要你不需要支持任何较老的操作系统。否则,您可能需要编写自定义逻辑来处理此问题。 – 2011-03-02 08:08:04

回答

1

这是棘手的做,如果你已连续运行的代码,因为VB6是单线程的。

我已经尝试过这样做(设置带有彩色背景的标签控件的宽度),但GUI往往不会重新绘制。最后我将这些作品分成了几部分,并在每部分结尾处致电DoEvents。 GUI更新比较粗糙。

有许多方法可以在VB6中运行多个线程 - 但它们需要非常小心的处理 - 并且从那里您可能能够在一个线程中运行代码并在另一个线程中更新GUI。

+0

除了我的头顶,我想说的是使用“定时器”控制。在每个“Tick”事件中,更新GUI。比在VB 6中使用多线程容易得多。这是一场噩梦;如果你确实需要穿线,你最好移植整个项目。 – 2011-03-03 04:21:46

+0

如果你有一个完全事件驱动的程序,使用'Timer'控件是一件轻而易举的事情。计时器事件与所有其他事件交错。但是,如果您持续运行代码,则所有事件都处于暂停状态,直到代码完成。 – quamrana 2011-03-03 14:21:05

0

传统上我们使用动画控制不是吗?我不确定,但我认为它运行在自己的线程上。然后是WebBrowser控件,它可以用来显示动画GIF的“chromeless”。

即使Windows Movie Maker可以用来将动画GIF转换为AVI,尽管它可能在这方面有限制。似乎你可以很容易地制作一个理发师的杆子,“Cylon的眼睛”,掉落的精灵尘埃柱,或任何其他“我很忙”的指标,如果沙漏光标不够好,你想要的。

科迪·格雷的选框样式ProgressBar是一个伟大的建议,但。