こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ExcelVBAのイメージコントロールについて

こんにちは。Excel2000を使用している初心者です。
フォーム上には以下のものがあります。
Image1
Label1、Label2、Label3、Label4
CommandButton1

・CommandButton1を押すとImage1に画像Aをロードして、次に押すと消すという動作をさせます。
・Image1の上をマウスが動くと座標をLabel1(x)、2(y)に常に表示させます。
・Image1をクリックするとそのときの座標をLabel3(x)、4(y)に表示させたままにします。

コードは以下の通りです。

Dim Flg As Boolean
Flg = False

Private Sub CommandButton1_Click()
If Flg = False then
Me.Image1.Picture = LoadPicture ("C:\A.jpg")
Flg = True
Else
Me.Image1.Picture = LoadPicture ("")
Flg = False
End If
End Sub

Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,_
ByVal X As Single, ByVal Y As Single)
Me.Label1.Caption = X
Me.Label2.Caption = Y
End Sub

Private Sub Image1_Click()
Me.Label3.Caption = Me.Label1.Caption
Me.Label4.Caption = Me.Label2.Caption
End Sub

・・・という記述なんですが、まず画像を表示させて、次にイメージをクリックしてLabel3、4に座標を表示させた後、CommandButton1を押してもイベントを受け付けてくれません。
イメージをクリックさえしなければ、画像の表示/非表示の切り替えはできます。
何が間違っている(足りない?)のでしょうか?
よろしくお願いします。

投稿日時 - 2012-05-13 18:54:44

QNo.7473844

困ってます

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

Repaint メソッドで再描画するといいんじゃない?

CommandButton1_Click()
------
------
Me.Repaint    ←追加
End Sub

投稿日時 - 2012-05-13 20:08:10

お礼

いけました!!
ForestRainさんありがとうございます、感謝です!

投稿日時 - 2012-05-13 20:43:58

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問