VBプログラマ質問スレ(6.0以前) Part34
■ このスレッドは過去ログ倉庫に格納されています
0558485
NGNG症状はpicture1に目一杯の円や四角形を描いた後、サイズを縮小して線を追加すると、サイズを元に戻した時に、
最初に描いた図形の縮小で隠れてしまった部分が消えてしまうというものでした。原因は円や四角形を描く時に、
その大きさをわかりやすくするためにマウス軌道を画面で見れるようにしたためでした。
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
mblnMouseDown = True
Picture2.Picture = Picture1.Image
mX = X: mY = Y
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static SX As Single, SY As Single
If mblnMouseDown Then
Picture1.DrawWidth = IIf(LineWidth > 1, LineWidth, 1)
If Button And vbLeftButton Then
Picture1.Picture = Picture2.Image
Picture1.Line (mX, mY)-(X, Y), LineColor, B
SX = X: SY = Y
End If
End If
SX = X
SY = Y
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
mblnMouseDown = False
Picture1.Refresh
End Sub
以前教えてもらった上記の方法を使っています。原因はPicture1_MouseDownプロシージャの
Picture2.Picture = Picture1.Image
部分だというところまではわかりました。picture1のimage渡す事で複数の図形を描けるようになっているので、こ
こを無くすわけにもいかず解決策が見つけられませんでした。こういう時はどういう処理を追加したらいいでしょうか?
■ このスレッドは過去ログ倉庫に格納されています