Form内でコントロールのスナップ動作

解決


とっしぃ  2006-05-11 21:35:18  No: 95353

はじめまして。お願いします。

言語:VB6 Pro(SP5)

目的:From1に対してImage1(Label1でも可)をドラック中に(Form内)スナップ動作させたい。
それを応用して、他のコントロールと重ならないようにすること。

内容:簡単に言いますと、VB6を立ち上げFrom1にImage1を貼り、それをドラッグしている時の処理(スナップ)を実装したい。

◆簡単ですが・・・
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move X, Y
End Sub

Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Drag vbBeginDrag
End Sub

Private Sub Form_DragOver(Source As Control, X As Single, Y As Single, State As Integer)

End Sub

*検討がつかなくて迷っています。Form_DragOverイベントを使って・・・。
できないものでしょうか?


特攻隊長まるるう  2006-05-11 22:11:52  No: 95354

http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200403/04030072.txt
のような話?
MouseDown と MouseUp と MouseMove あたりを使ってみては?


とっしぃ  2006-05-12 17:50:17  No: 95355

特攻隊長まるるうさん、回答ありがとうございます。
リンク先の内容とは違いますね・・・。
フォーム上のコントロールをドラッグしている時に、ドラック中のアイコンを
10ピクセル(X,Y軸方向)ごとに同じフォーム内に移動させるという処理を検討しています(カクッ、カクッという感じ?)。
質問内容が分かりにくくてすみません


特攻隊長まるるう  2006-05-12 18:51:37  No: 95356

…いや、だから、MouseMove で。

MouseDown の座標を覚えておいて、それから
10ピクセル(X,Y軸方向)ごとに移動させてもいい
範囲にマウスが移動したら、コントロールの場所
を変更すればいいだけでは?

それであればリンク先の内容を理解すればできる
はずですが?


とっしぃ  2006-05-15 18:06:13  No: 95357

おはようございます。
確かにMouseMoveイベントで処理すればよかったみたいです・・・(^^;
特攻隊長まるるうさんのおかげで解決することができました。
ありがとうございました!!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加