tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルMicrosoftUpdate時のようなプログレスバー表示がしたいです
記事No7461
投稿日: 2008/05/08(Thu) 10:13
投稿者ゆうや
こんにちは。教えていただきたいことがあり、投稿しました。

WinXP で VB2005 Express Edition を使っています。

題名の通りなのですが、「Microsoft Update」や「WindowsXPのOS起動時」に表示される、
プログレスバー?の表示ができたらなぁと思っています。
単に左から右にゲージが増えていくだけではなく、プログレスバーの一部が左から右に
移動しているような(言葉では説明が難しいですね・・・(汗))。。。

あれは何か特別なコントロールがあるのでしょうか?
VB2005の掲示板に書かせていただきましたが、VBでもできれば、、と思っています。
VBのほうの掲示板にも書いてしまうとマルチポスト?になってしまうかなぁと思いまして
こちらに書きました。。。

ご存知の方がいらっしゃいましたら、教えてください。よろしくお願いします。

[ツリー表示へ]
タイトルRe: MicrosoftUpdate時のようなプログレスバー表示がしたいです
記事No7462
投稿日: 2008/05/08(Thu) 12:47
投稿者
こんにちは。

プログレスバーでのやり方がわからなかったので、
横長のピクチャーボックスで代用したのですが、こんな感じでどうでしょうか?

    Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint

        e.Graphics.FillRectangle(Brushes.Blue, i, 0, 30, PictureBox1.Height)
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        i += 10

        If i >= PictureBox1.Width Then
            i = 0
        End If

        PictureBox1.Invalidate()
    End Sub

ご意向にそってればいいのですが^^;

> VB2005の掲示板に書かせていただきましたが、VBでもできれば、、と思っています。
> VBのほうの掲示板にも書いてしまうとマルチポスト?になってしまうかなぁと思いまして
> こちらに書きました。。。

VBとはVB6.0のことですかね?

[ツリー表示へ]
タイトルRe: MicrosoftUpdate時のようなプログレスバー表示がしたいです
記事No7465
投稿日: 2008/05/08(Thu) 14:11
投稿者魔界の仮面弁士
> 単に左から右にゲージが増えていくだけではなく、プログレスバーの一部が左から右に
> 移動しているような(言葉では説明が難しいですね・・・(汗))。。。
> あれは何か特別なコントロールがあるのでしょうか?

(Windows Update/Microsoft Update のように)Web上で表現したいのでしょうか。
それとも、System.Windows.Forms.Form 上で実現したいのでしょうか。

後者だとすれば、System.Windows.Forms.ProgressBar がそれにあたります。
Style プロパティを Marquee にしておきましょう。<要 VisualStyle


> VB2005の掲示板に書かせていただきましたが、VBでもできれば、、と思っています。
(ComCtl32.dll v6 な)プログレスバーに、PBS_MARQUEE (=8)スタイルを持たせ、
そこに PBM_SETMARQUEE (=1034) を SendMessage すればいけるかも。(未検証)

PBM_SETMARQUEE は、wParam が 1(再生)/0(停止) で、
lParam が、表示速度(ミリ秒)で。

[ツリー表示へ]
タイトルRe^2: MicrosoftUpdate時のようなプログレスバー表示がしたいです
記事No7470
投稿日: 2008/05/08(Thu) 18:02
投稿者ゆうや
すばやいお返事、ありがとうございました。

鍵さん>
ピクチャーボックスを使う方法があるのですね。
コチラはまだやっていませんが、取り込んでみようと思います。

魔界の仮面弁士さん>
すみません、言葉足らずでした。はい。System.Windows.Forms.Form 上で実現したいと思っていました。
おっしゃるように、Styleを「Marquee」にしたら、、あら何とまぁ!あーこれですこれです。プロパティで設定できたんですね!知らなかった・・・。

お二人共通>
> VBとはVB6.0のことですかね?
すみません、言葉足らずでしたね。はい。VB6.0 での実現を考えていました。
VB6だとSendMessage、ですかー。私も確認していませんができそうかも。。。

当面、VB2005のほうに組み込んでみようと思っています。VB6の方は「要らない」っていわれちゃうかもしれませんので。。

ありがとうございました!

[ツリー表示へ]
タイトルRe^3: MicrosoftUpdate時のようなプログレスバー表示がしたいです
記事No7473
投稿日: 2008/05/08(Thu) 21:28
投稿者
> おっしゃるように、Styleを「Marquee」にしたら、、あら何とまぁ!あーこれですこれです。プロパティで設定できたんですね!知らなかった・・・。

こっちのほうが絶対楽ですよね、
自分も勉強になりました!

[ツリー表示へ]