投稿日 | : 2005/02/04(Fri) 19:11 |
投稿者 | : 花ちゃん |
Eメール | : |
URL | : |
タイトル | : Re: Line(線)のイベント取得(簡単な方法) |
フォームにラインコントロールとラベルを貼り付けて下さい。
ラインコントロールの一方にラベルを貼り付け、そのラベルをドラッグする
ことで移動できます。
下記のテストではラインを縦に引きその上部にラベル小さくして配置。
Option Explicit
Private XPos As Long
Private YPos As Long
Private Sub Form_Load()
'OLE ドロップ イベントを発生させます。
Label1.OLEDropMode = vbOLEDropManual
End Sub
Private Sub Form_DragDrop(Source As Control, _
X As Single, Y As Single)
'フォーム上にドロップした時の補正
Source.Move X - XPos, Y - YPos
Line1.X1 = X - XPos
Line1.Y1 = Y - YPos
End Sub
Private Sub Label1_DragDrop(Source As Control, X As Single, Y As Single)
'同一コントロール内でドロップした場合の補正
Source.Move (Label1.Left + X - XPos), (Label1.Top + Y - YPos)
Line1.X1 = Label1.Left + X - XPos
Line1.Y1 = Label1.Top + Y - YPos
End Sub
Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'ドラッグ開始位置の保存とドラッグの開始
YPos = Y
XPos = X
Label1.Drag vbBeginDrag
End Sub