★フォームにコントロールを貼り付けよう!
 

 それではユーザーフォームをいつものようにひとつ作りましょう


スクロールバーを1つとフレームを2つ、それからラベルを1つユーザーフォーム上に貼り付けましょう。貼り付けたらプロパティは、
オブジェクト名 Caption名 BackColor
Label1 0 0
Frame1 なし &H00FFC0C0&
Frame2 なし &H00FF8080&
ScrollBar1 なし なし

あんまり変更はしていません。出来上がりはこんな感じです。

 それでは次にフレームの2つを重ねますよ。Frame1の上にFrame2を重ねます。
このように同じサイズのフレームを重ねることによって、スクロールバーの値の変化に合わせて、Frame2のサイズを変更しFrame2のサイズ=スクロールバーの値というようにするんですね。

 ここまでは問題ありませんよね。
ではコード記述はどうなっているでしょうか?
私はこんな感じで書きましたよ。

Option Explicit

 ’ユーザーフォームが開いた時
 Private Sub UserForm_Initialize()

 ’スクロールバーの最大値を100とする
  ScrollBar1.Max = 100
 ’スクロールバーの最小値を0とする
  ScrollBar1.Min = 0
 ’スクロールバーの矢印をクリックした時の増減する単位
  ScrollBar1.SmallChange = 10
 ’スクロールバーの最初の値を0に設定
  ScrollBar1.Value = 0
 ’フレーム1の幅を0に設定
  Frame2.Width = 0

 End Sub

 ’スクロールバーの値に変化が生じたときは
 Private Sub
ScrollBar1_Change()

 ’Frame2.Widthっていうのはフレーム2の幅のことでその幅を
 ’Frame1の幅を100%としてスクロールバーの値分の率で表示します。

  Frame2.Width = (Frame1.Width) * (ScrollBar1.Value / 100)

 ’ラベルのCaptionの値をスクロールバーの値にして表示します。
  Label1.Caption = ScrollBar1.Value

 End Sub


 このようにしてユーザーフォームが開かれたときにスクロールバーの個々の設定が行われ、
スクロールバーに変化が生じたときにフレームの幅を変化させることでメーターは作れますね。
何かのお役に立てれば幸い!以上です。
 

[トップ][前へ][スクロールバーとフレーム][次へ]