掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
実行後にコントロールを自由に移動したい (ID:116731)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
DragDropを使用して、Label1 と Picture1 の各コントロール を移動するサンプルを作ってみました。 Command1, Command2 で移動の許可/禁止を切り替えます。 Option Explicit Private m_bCanMove As Boolean Private m_dx As Single Private m_dy As Single Private Sub Ctrl_DragDrop(oCtrl As Object, Source As Control, X As Single, Y As Single) If (m_bCanMove) Then If (oCtrl Is Source) Then Source.Move Source.Left + X - m_dx, Source.Top + Y - m_dy Else Source.Move oCtrl.Left + X - m_dx, oCtrl.Top + Y - m_dy End If End If End Sub Private Sub Ctrl_MouseDown(oCtrl As Object, X As Single, Y As Single) If (m_bCanMove) Then oCtrl.Drag vbBeginDrag m_dx = X m_dy = Y End If End Sub Private Sub Command1_Click() m_bCanMove = True ' 移動許可 End Sub Private Sub Command2_Click() m_bCanMove = False ' 移動禁止 End Sub Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single) If (m_bCanMove) Then Source.Move X - m_dx, Y - m_dy End If End Sub Private Sub Label1_DragDrop(Source As Control, X As Single, Y As Single) Call Ctrl_DragDrop(Label1, Source, X, Y) End Sub Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Call Ctrl_MouseDown(Label1, X, Y) End Sub Private Sub Picture1_DragDrop(Source As Control, X As Single, Y As Single) Call Ctrl_DragDrop(Picture1, Source, X, Y) End Sub Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Call Ctrl_MouseDown(Picture1, X, Y) End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.