コントロールのmouseMoveで他のコントロールにマウスがきたら?


ddd  2009-02-14 16:17:35  No: 101572  IP: 192.*.*.*

Formにボタンが2個貼り付けています。

ボタン1のマウスをダウン中に、マウスを移動したときに
ボタン2の上にきたら、MSGを出したいです。

どうすればよいのでしょうか?

編集 削除
ガッ  2009-02-23 02:56:41  No: 101573  IP: 192.*.*.*

※VB6として書き込み
もしかしたらボタン2をサブクラス化してウィンドウプロシージャを書き換えれば何とかなるかもしれませんが,私には良くわかりません.

なので別解として(動作が結構変わってしまいますが),
ボタン1をドラッグ可能にして,
ボタン2の DragOver イベントの Source 引数で判断してみてはいかがでしょう.

例)
Option Explicit
'Form1にボタンを二つ貼り付ける.
'名前はそれぞれ Command1 Command2
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Call Command1.Drag
End Sub

Private Sub Command2_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
    Debug.Print Source.Name
End Sub

編集 削除