はじめまして。
Line処理で描画した後に、ピクチャーボックスを移動させるための処理を行っているのですが、
ドラッグせずにクリックすると、描画したものが消えてしまいます。
クリックしても消えないようにしたいのですが
どうしたらいいのかわかりません。
Picture1のAutoRedrawはTrueをデフォルトで設定していて、
ソースは以下の様にしています。
Private XPos As Single
Private YPos As Single
Private Sub Picture1_MouseDown(〜省略〜)
'座標の取得
XPos = X
YPos = Y
If TypeOf Picture1 Is PictureBox Then Obj.DrawMode = 1
'ドラッグの開始
If Button = vbLeftButton Then Obj.Drag vbBeginDrag
End Sub
Private Sub Picture1_MouseUp(〜省略〜)
If Button = vbLeftButton Then Picture1.Drag vbEndDrag
End Sub
Private Sub Picture1_DragDrop(〜省略〜)
Source.Move (Picture1.Left + X - XPos), (Picture1.Top + Y - YPos)
If TypeOf Source Is PictureBox Then
Picture1.Picture = Surce.Picture
End If
End Sub
環境はWin2000のVB6.0です。
どなたか教えてください。
お願いします。
移動させるだけなら
これでOKでは?
Private XPos As Single
Private YPos As Single
Private MoveFlag As Boolean
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MoveFlag = True
XPos = X
YPos = Y
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If MoveFlag = True Then
Picture1.Top = Picture1.Top + Y - YPos
Picture1.Left = Picture1.Left + X - XPos
End If
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
MoveFlag = False
End Sub
それともドロップで画像を移動させるの?
ミッションさんありがとうございます^^
ピクチャーボックスそのものを移動させたかったので、
ミッションさんのソースで試したところできました。
ありがとうございました。