Soyez le premier à donner votre avis sur cette source.
Snippet vu 3 258 fois - Téléchargée 40 fois
'----- DANS UN MODULE ----- '***** TYPE UTILISE PAR L'API GETWINDOWRECT() ***** Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type '***** TYPE UTILISE PAR L'API GETCURSORPOS() ***** Private Type POINTAPI X As Long Y As Long End Type '***** API POUR OBTENIR LES COORDONNEES DE LA FENETRE ***** Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long '***** API POUR OBTENIR LES COORDONNEES DU CURSEUR ***** Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long '***** FONCTION DETERMINANT SI LE CURSEUR EST DANS LA FENETRE OU NON Public Function MouseOutOfWindow(handle As Long) As Boolean Dim R As RECT 'déclaration de la variable qui reçoit les coordonnées de la fenêtre Dim Pos As POINTAPI 'déclaration de la variable qui reçoit les coordonnées du curseur GetWindowRect handle, R 'renvoie les coordonnées de la fenêtre dans <R> GetCursorPos Pos 'renvoie les coordonnées du curseur dans <Pos> 'renvoie FALSE si le curseur est dans la fenêtre, et TRUE si le curseur est à l'extérieur MouseOutOfWindow = (Pos.X <= R.Left) Or (Pos.X >= R.Right) Or _ (Pos.Y <= R.Top) Or (Pos.Y >= R.Bottom) End Function '----- DANS LE CODE D'UNE FORM (POUR L'EXEMPLE) ----- Private Sub Timer1_Timer() 'interval=20 If MouseOutOfWindow(Form1.hwnd) Then Form1.Caption = "En dehor" Else Form1.Caption = "A l'intérieur" End If End Sub
Merci merci merci , et a bientot ... pour d'autres api !!
RnoSat
Vous pouvez aussi consulter la rubrique "Subclassing" sur ce site
A+
Elle n'est pas présente dans W95, mais elle permet, grâce au subclassing, de détecté de events que VB6 ne reconnait pas ! (ex : sorite du curseur d'un contrôle, par exemple)
Seul pb : le subclassing implique un débugage casse-tête (beaucoup de contraite : pas de stop, pause, end. Execution de codes tout le temps) mais il sert à plaint de chose ( je parlerais et explique le subclassing en profofondeur ds 1 article qui sortita dans 1 ou 2 mois)
Bonne Prog. @+
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.