- ベストアンサー
プログレスバーに似たコントロールについて。
プログラムの進歩状況をプログレスバーをつかっていますが、フロッピーにファイルを保存したり、ソフトウェアをインストールしたりするときに表示される、”プログレスバーもどき”のコントロールはどうしたら入手できますか? 素人には無理でもかまいません。 どなたか教えてくださいませんか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>インストールやハードウェアの確認時の画面で表示されるような、そんなのありませんかね。 うーん、進捗ですねー。。。追加のコンポーネントでは、見たことないですが・・・ たぶん、求めているタイプのダイアログがおそらくDLL内にあるのでしょうが、使用方法は公開されてないと思います。もし使用できても、ダイアログを別プロセスで表示するか、ダイアログのプロセス監視をして、現在の状況をダイアログに通知しなければならないと思います。 なので、自分で作成した方が、メンテしやすいと思います。 区切りのないメーターのサンプルです。 フォーム1[Form1] │ ├ コマンドボタン1[Command1] │ └ ピクチャボックス1[Picture1] │ └ ピクチャボックス2[Picture2] ピクチャボックス2はピクチャボックス1の中に入れてください。 Option Explicit Private Sub Command1_Click() Dim lngWork As Long lngWork = 0 On Error Resume Next lngWork = InputBox("パーセンテージを入力してください", "新着状況の値セット", "0") On Error GoTo 0 '0~100の値とする If lngWork < 0 Then lngWork = 0 ElseIf lngWork > 100 Then lngWork = 100 End If Call setProgress(lngWork) End Sub Private Sub Form_Load() With Me .ScaleMode = vbPixels .Command1.Caption = "値セット" With .Picture1 .Enabled = False .ScaleMode = vbPixels .Appearance = 0 .BorderStyle = 1 .BackColor = Me.BackColor End With With .Picture2 .ScaleMode = vbPixels .Appearance = 0 .BorderStyle = 0 .Left = 0 .Top = 0 .Height = Me.Picture1.ScaleHeight .BackColor = &H800000 End With Call setProgress(0) End With End Sub Private Sub setProgress(inPer As Long) With Me If inPer = 0 Then .Picture2.Visible = False Else .Picture2.Width = .Picture1.Width * (inPer / 100) .Picture2.Visible = True End If End With End Sub
その他の回答 (1)
- TAGOSAKU7
- ベストアンサー率65% (276/422)
>プログラムの進歩状況をプログレスバーをつかっていますが、フロッピーにファイルを保存したり、ソフトウェアをインストールしたりするときに とありますが、 1.ファイルのコピーを行うのですか? 2.ごみ箱を空にするのですか?フォーマットを行うのですか? 3.ただ単にオリジナルの進捗状況画面を作成したいだけなのでしょうか? もし1番か2番のような場合はWindowsDLL内にあります。 SHFileOperationという関数なのですが、 http://www.vbvbvb.com/jp/gtips/index.html でキーワード"SHFileOperation"を打ち込むと、関係したものが出てきます。 3番の場合はコンポーネントで 「Microsoft Wndows Common Controls 5.0(SP2)」 を追加してProgressBarを使用してるのですよね? それを使用して、アニメーションの追加をするとオリジナルの進捗状況ダイアログが作成できます。 再生するアニメーションはVBのインストール状況にもよりますがおそらく C:\Program Files\Microsoft Visual Studio\Common\Graphics\Videos に入っていると思います。 再生方法は http://www.vbvbvb.com/jp/gtips/index0001.html の中の1番~11番あたりが参考になると思います。 ちょっといまいち質問をしっかり把握できてません。 はずしてたらごめんなさい。
お礼
返事がおくれましてすみません。 いろんなアニメーションがあるんですね。 参考になりました。 どうもありがとうございました。 「3.ただ単にオリジナルの進捗状況画面を作成したい 」のです。 プログレスバーの機能はそのままで、 縦の線のないようなビジュアルにしたいのです。 "Common Controls 6.0"のプログレスバーはちょっと古い感じで・・・。 (インストールやハードウェアの確認時の画面で表示されるような) そんなのありませんかね。
お礼
わざわざサンプル作ってくださってどうもありがとうございます。 なるほど、自分で作っちゃうなんて発想はわたしにはありませんでした。 早速Tryしてみます。