• ベストアンサー

プログレスバーに似たコントロールについて。

プログラムの進歩状況をプログレスバーをつかっていますが、フロッピーにファイルを保存したり、ソフトウェアをインストールしたりするときに表示される、”プログレスバーもどき”のコントロールはどうしたら入手できますか? 素人には無理でもかまいません。 どなたか教えてくださいませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.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

9766
質問者

お礼

わざわざサンプル作ってくださってどうもありがとうございます。 なるほど、自分で作っちゃうなんて発想はわたしにはありませんでした。 早速Tryしてみます。

その他の回答 (1)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

>プログラムの進歩状況をプログレスバーをつかっていますが、フロッピーにファイルを保存したり、ソフトウェアをインストールしたりするときに とありますが、 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番あたりが参考になると思います。 ちょっといまいち質問をしっかり把握できてません。 はずしてたらごめんなさい。

9766
質問者

お礼

返事がおくれましてすみません。 いろんなアニメーションがあるんですね。 参考になりました。 どうもありがとうございました。 「3.ただ単にオリジナルの進捗状況画面を作成したい 」のです。 プログレスバーの機能はそのままで、 縦の線のないようなビジュアルにしたいのです。 "Common Controls 6.0"のプログレスバーはちょっと古い感じで・・・。 (インストールやハードウェアの確認時の画面で表示されるような) そんなのありませんかね。

関連するQ&A