View Full Version : سوال: سؤال در مورد قرار گرفتن موس روی لیبل
Hassan2500
چهارشنبه 06 اردیبهشت 1391, 01:16 صبح
سلام
من این کدو میخام که اگر نشانگر موس روی لیبل1 قرار گرفت متن داخل لیبل1 underline و رنگ متن آبی شود و اگر نشانگر موس روی لیبل1 کنار رفت متن داخل لیبل1 دوباره بدون Underline و رنگ متن سیاه شود.
Mr'Jamshidy
چهارشنبه 06 اردیبهشت 1391, 02:04 صبح
اگر میخواید رویداد MouseEnter و MouseLeave دات نت رو شبیه سازی کنید فکر میکنم با تابع GetCursorPos بتونید این کار رو انجام بدید
اما اگر فقط میخواهید زمانی که اشاره گر موس روی lbl1 رفت متن داخلش underl بشه و زمانی که روی lbl2 رفت underl حذف بشه خیلی ساده با رویداد MouseMove میتونید این کار رو انجام بدید
ASedJavad
چهارشنبه 06 اردیبهشت 1391, 11:30 صبح
پست زیر رو یه برررسی بکنید:http://barnamenevis.org/showthread.php?81542-%D8%A2%D8%B1%D8%B4%DB%8C%D9%88-%D8%B3%D9%88%D8%B1%D8%B3-%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D9%88-%D8%A8%D8%AF%D8%B1%D8%AF%D8%A8%D8%AE%D9%88%D8%B1&p=414788&viewfull=1#post414788
Hassan2500
چهارشنبه 06 اردیبهشت 1391, 12:29 عصر
سلام
رفتم دیدم ولی اون چیزی که میخاستم نبود مثلا این کد زیر که گذاشتم اگه میشه کاری کنید که که فقط لیبل باشد نه پیکچر
Option Explicit
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SetCapture Lib "user32" (ByVal Hwnd As _
Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As _
POINTAPI) As Long
Private Declare Function ScreenToClient Lib "user32" (ByVal _
Hwnd As Long, lpPoint As POINTAPI) As Long
Dim MouseIn As Boolean
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim xyCursor As POINTAPI
Dim Xi As Long
Dim Yi As Long
SetCapture Picture1.Hwnd
GetCursorPos xyCursor
ScreenToClient Picture1.Hwnd, xyCursor
Xi = xyCursor.X * Screen.TwipsPerPixelX
Yi = xyCursor.Y * Screen.TwipsPerPixelY
If Xi < 0 Or Yi < 0 Or Xi > Picture1.Width Or Yi > _
Picture1.Height Then
If Button = 0 Then
' MouseMove
End If
If MouseIn Then
Label1.FontUnderline = False
If Button <> 0 Then
'MouseUp
End If
If Button = 0 Then
ReleaseCapture
End If
MouseIn = False
End If
Else
If Button = 0 Then
'MouseMove
End If
If Not MouseIn Then
Label1.FontUnderline = True
MouseIn = True
End If
End If
End Sub
Slytherin
چهارشنبه 06 اردیبهشت 1391, 13:44 عصر
سلام
من این کدو میخام که اگر نشانگر موس روی لیبل1 قرار گرفت متن داخل لیبل1 underline و رنگ متن آبی شود و اگر نشانگر موس روی لیبل1 کنار رفت متن داخل لیبل1 دوباره بدون Underline و رنگ متن سیاه شود.
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.FontUnderline = False
Label1.ForeColor = vbBlack
End Sub
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.FontUnderline = True
Label1.ForeColor = vbBlue
End Sub
Hassan2500
چهارشنبه 06 اردیبهشت 1391, 15:59 عصر
این کد شما زمانی عمل میکنه که لیبل وسط فرمه ولی وقتی گوشه فرم است و نشانگر موس از فرم خارج میشه عمل نمیکنه اگه میشه درستش کنید
محسن واژدی
چهارشنبه 06 اردیبهشت 1391, 20:17 عصر
سلام
سورس زیر را بررسی کنید، برای استفاده کافی است user-control را به پروژه تون منتقل کنین
منبع سورس:
http://planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=49842&lngWId=1
(البته سورس ضمیمه این پست برابر مشکل شما کمی ویرایش شده)
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.