PDA

View Full Version : تغییر رنگ label با mouse move



mohsen_iceman2000
پنج شنبه 19 مرداد 1391, 17:23 عصر
سلام دوستان چه جوری می شه رنگ لیبیل رو با حرکت ماوس عوض کرد و وقتی ماوس از روی لیبیل اومد بیرون به حالت عادی برگرده کدشو بلدم فقط به حالت عادی برگرده رو بلد نیستم آخه Mouse Exit نداره تو قابلیت های label فقط Mouse Move داره

Veteran
پنج شنبه 19 مرداد 1391, 17:31 عصر
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.BackColor = &H8000000F
End Sub

mohsen_iceman2000
پنج شنبه 19 مرداد 1391, 17:35 عصر
اینو که می دونم - می خوام به حالت عادی برگرده وقتی moiuse move نبود - سئوالو بخون بعد جواب بده

the king
پنج شنبه 19 مرداد 1391, 18:59 عصر
سلام دوستان چه جوری می شه رنگ لیبیل رو با حرکت ماوس عوض کرد و وقتی ماوس از روی لیبیل اومد بیرون به حالت عادی برگرده کدشو بلدم فقط به حالت عادی برگرده رو بلد نیستم آخه Mouse Exit نداره تو قابلیت های label فقط Mouse Move داره

به مثال پیوستی مراجعه شود :

91006

program2vb
پنج شنبه 19 مرداد 1391, 19:23 عصر
سلام دوستان چه جوری می شه رنگ لیبیل رو با حرکت ماوس عوض کرد و وقتی ماوس از روی لیبیل اومد بیرون به حالت عادی برگرده کدشو بلدم فقط به حالت عادی برگرده رو بلد نیستم آخه Mouse Exit نداره تو قابلیت های label فقط Mouse Move داره
سلام میتونی از کد زیر استفاده کنی خیلی راحت هم میتونی برای زمانی که داخل لیبل هست کد بدی هم زمانی که بیرون هست


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

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
With Me
If (X < 0) Or (Y < 0) Or (X > .Width) Or (Y > .Height) Then
'mouse over
.BackColor = vbBlack
Call ReleaseCapture
ElseIf GetCapture() <> .hwnd Then
'MouseEnter
.BackColor = vbWhite
Call SetCapture(.hwnd)
Else
'mouse move

End If
End With
End Sub


موفق و پیروز باشی .... یا علی