2011-03-02 37 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是一個偉大的建議,但。