PDA

View Full Version : چطوری بفهمیم موس از روی یه کنترل خارج می شه



subsub
چهارشنبه 24 خرداد 1385, 12:17 عصر
من می خواستم وقتی کاربر موس رو روی کنترل می یاره، یه عکس نمایش داده بشه ولی وقتی کاربر موس را جابه جا می کنه و موس روی کنترل نیست، یه عکس دیگه نمایش بدهم.

sohrab o
چهارشنبه 24 خرداد 1385, 21:43 عصر
باید روی رویداد mousemove فرم کدی برای بردن نوشته شه و برای نمایش روی رویداد mousemove کنترل

mahdi_farhani
پنج شنبه 25 خرداد 1385, 05:10 صبح
شما با استفاده از دو توابع Api میتونی این کارو بکنی .
آقا سهراب فکر کنم منظور دوستمون محدوده کاری شکل بود . شما اگر از خاصیت موس مو استفاده کنی اگر خیلی سریع موس را به بیرون از پنجره یا حتی یه کنرل دیگه ببری حالت عکس عوض نمیشه .
با استفاده از یه تایمر و نوشتن کد زیر میتونی این کار رو بکنی البته باید مقدار های رو خودت بدی


Dim Pos As POINTAPI
GetCursorPos Pos
ScreenToClient Me.hWnd, Pos

If Pos.X < 697 Or Pos.Y < 70 _
Or Pos.X > 756 Or Pos.Y > 110 Then
TimAlbume.Enabled = False
ImgAlbume.Picture = LoadPicture(App.Path & "\Data\Albume.jPG")
Mouse_Over = False
End If

sohrab o
جمعه 26 خرداد 1385, 08:57 صبح
نمی دونم شاید من بد متوجه شدم

r_o_o_z_y
چهارشنبه 14 تیر 1385, 05:28 صبح
فکر کنم یه قسمت یادتون رفتش


Private Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long


البته یه قسمت دیگه هم هست همون قسمتی که نوشته
ScreenToClient
این هم کد API ش این هست


Private Declare Function ScreenToClient Lib "user32" Alias "ScreenToClient" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long


البته ببخشید که من دخالت کرد
چون دیدم اینا را ننوشتین نوشتم

subsub
سه شنبه 20 تیر 1385, 12:02 عصر
شما با استفاده از دو توابع Api میتونی این کارو بکنی .
آقا سهراب فکر کنم منظور دوستمون محدوده کاری شکل بود . شما اگر از خاصیت موس مو استفاده کنی اگر خیلی سریع موس را به بیرون از پنجره یا حتی یه کنرل دیگه ببری حالت عکس عوض نمیشه .
با استفاده از یه تایمر و نوشتن کد زیر میتونی این کار رو بکنی البته باید مقدار های رو خودت بدی


Dim Pos As POINTAPI
GetCursorPos Pos
ScreenToClient Me.hWnd, Pos

If Pos.X < 697 Or Pos.Y < 70 _
Or Pos.X > 756 Or Pos.Y > 110 Then
TimAlbume.Enabled = False
ImgAlbume.Picture = LoadPicture(App.Path & "\Data\Albume.jPG")
Mouse_Over = False
End If


این کد را باید کجا بزارم؟

حامد مصافی
سه شنبه 20 تیر 1385, 18:04 عصر
قبلاً مفصل بحث شده
لطفاً جستجو بکنید