OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • 暇なときにでも
  • 質問No.165655
  • 閲覧数285
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 52% (601/1143)

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

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

  • 回答No.2
レベル12

ベストアンサー率 65% (276/422)

>インストールやハードウェアの確認時の画面で表示されるような、そんなのありませんかね。
うーん、進捗ですねー。。。追加のコンポーネントでは、見たことないですが・・・
たぶん、求めているタイプのダイアログがおそらく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

お礼率 52% (601/1143)

わざわざサンプル作ってくださってどうもありがとうございます。
なるほど、自分で作っちゃうなんて発想はわたしにはありませんでした。
早速Tryしてみます。
投稿日時 - 2001-11-13 14:00:16
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル12

ベストアンサー率 65% (276/422)

>プログラムの進歩状況をプログレスバーをつかっていますが、フロッピーにファイルを保存したり、ソフトウェアをインストールしたりするときに とありますが、 1.ファイルのコピーを行うのですか? 2.ごみ箱を空にするのですか?フォーマットを行うのですか? 3.ただ単にオリジナルの進捗状況画面を作成したいだけなのでしょうか? もし1番か2番のような場合はWindowsDLL内にあります。 SH ...続きを読む
>プログラムの進歩状況をプログレスバーをつかっていますが、フロッピーにファイルを保存したり、ソフトウェアをインストールしたりするときに

とありますが、
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

お礼率 52% (601/1143)

返事がおくれましてすみません。
いろんなアニメーションがあるんですね。
参考になりました。
どうもありがとうございました。

「3.ただ単にオリジナルの進捗状況画面を作成したい 」のです。
プログレスバーの機能はそのままで、
縦の線のないようなビジュアルにしたいのです。
"Common Controls 6.0"のプログレスバーはちょっと古い感じで・・・。
(インストールやハードウェアの確認時の画面で表示されるような)
そんなのありませんかね。
投稿日時 - 2001-11-13 08:21:23


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ