ラベルからマウスカーソルを離してもイベント効かしたい

解決


よし  2007-02-25 04:25:41  No: 98108

お世話になります。
早速ですがラベルにマウスカーソルを近づけるとイベントが効くのですが
逆にそのラベルから離すと効きません。尚、APIのSetCaptureを利用しようとすると引数のhwnd にラベルが対応していないので利用できませんでした。
ご教授よろしくお願いします。

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

   If X >= 0 And Y >= 0 And X < Label1.Width And Y < Label1.Height Then
        Label1.BackColor = vbRed
    Else
        Label1.BackColor = vbBlue   <--- 処理しません
    End If
End Sub


食後のうがいは大切  2007-02-25 05:06:38  No: 98109

発想の転換。

Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    If X >= 0 And Y >= 0 And X < Label1.Width And Y < Label1.Height Then
        Label1.BackColor = vbRed
        SetCapture Form1.hwnd
    End If
    
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    
    If X < Label1.Left Or Y < Label1.Top Or X > (Label1.Left + Label1.Width) Or Y > (Label1.Top + Label1.Height) Then
        Label1.BackColor = vbBlue
        ReleaseCapture
    End If

End Sub


よし  2007-02-25 08:45:57  No: 98110

食後のうがいは大切さんありがとうございました。
逆を考んがえる
まさしく発想の転換でしたね。
助かりました。


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

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






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