コマンドボタンにマウスが移動したときにコマンドボタンの画像を変更する方法

◆概要

 このページは、Visual Basic 6.0で、コマンドボタンにマウスが移動したときにコマンドボタンの画像を変更する方法について記載しています。

 コマンドボタンに画像を表示する方法では、ボタンが押されたときに違う画像が表示されます。今回は、マウスがボタンに移動したときに画像を変更する方法をご紹介します。

 厳密に言えば、コマンドボタンに画像を表示するのではなく、Imageコントロールに画像を表示し、Imageコントロールをボタンの代わりに使用します。

 指定できる画像は、ビットマップ(*.bmp:*.dib)、GIFイメージ(*.gif)、JPEGイメージ(*.jpeg),メタファイル(*.wmf、*.emf)、アイコン(*.ico:*.cur)の5種類です。

◆手順

  1. フォームにImageコントロールを2つ貼り付けます。
  2. Image1には、マウスが乗ったときに表示する画像を、Image2には通常の画像をPictureプロパティで指定します。
  3. 2つのImageコントロールを重ねて配置します。
  4. フォーム上でマウスが動いたときに、マウス移動時の画像を消し、通常の画像を表示するようにそれぞれのVisibleプロパティを設定します。
  5. Image2(通常の画像)上でマウスが動いたときに、今度は、通常の画像を消し、マウス移動時の画像を表示するようにそれぞれのVisibleプロパティを設定します。
  6. Image1_Clickイベントハンドラに、ボタンが押されたとき実行したいコードを記述します。

フォームプロシージャは次のようになります。

Option Explicit
' フォーム上でマウスが動いたとき
Private Sub Form_MouseMove( _
        Button As Integer, Shift As Integer, X As Single, Y As Single)
    Image1.Visible = False  ' マウス移動時の画像を消す
    Image2.Visible = True   ' 通常表示の画像を表示
End Sub
' Image2上でマウスが動いたとき
Private Sub Image2_MouseMove( _
        Button As Integer, Shift As Integer, X As Single, Y As Single)
    Image1.Visible = True   ' マウス移動時の画像を表示
    Image2.Visible = False  ' 通常表示の画像を表示
End Sub
' Image1がクリックされたとき
Private Sub Image1_Click()
    MsgBox "Image1が押されました。"
End Sub

◆実行結果

▼通常の状態

実行結果

▼ボタン(imageコントロールで代用)にマウスが乗ると違う画像が表示される

実行結果



▼ページトップへ