Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période.
Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.

~ Rechercher ~

  

~ Annuaire VB ~
 Rechercher un site :
  

~ Partenaires ~

Fonction GetCursorPos

Declare Function GetCursorPos Lib "user32" ( _
                 lpPoint
As POINTAPI) As Long
Versions :
. Windows 95/98 : Oui
. Windows NT : A partir de 3.1
. Windows 2000/XP : Oui

Description :
Cette fonction vous retourne la position du curseur de la souris, les coordonnées sont renvoyées sous forme d'une structure POINTAPI détaillée
ci-dessous.Retourne 'Vrai' si il n'y a pas eu d'erreur, sinon 'Faux'.

Type POINTAPI
    x As Long
    y As Long
End Type


Exemple d'utilisation :

' Exemple proposé par Michel Defert (micheldefert@free.fr)
' Placer un label sur la feuille, puis le code suivant :

' Position de X et Y par rapport a l'écran
Private Declare Function GetCursorPos Lib "user32" ( _
    lpPoint
As POINTAPI) As Long

' Position de X et Y par rapport a la fenètre et a GetCursorPos
Private Declare Function ScreenToClient Lib "user32" ( _
   
ByVal hwnd As Long, _
    lpPoint
As POINTAPI) As Long

Private Type
POINTAPI
    X
As Long
   
Y As Long
End Type

' Affiche un point sous le curseur quand on clique sur la feuille
Private Sub Form_Click()
Dim pos As POINTAPI
GetCursorPos pos
ScreenToClient Me.hwnd, pos
Me.Label1 = "Position Horizontale X = : " & pos.X & vbCrLf & _
            "Position Verticale Y = : " & pos.Y
Me.DrawWidth = 2
' Pixel plus épais
Me.ScaleMode = vbPixels ' Feuille en mode Pixel
Me.PSet (pos.X, pos.Y), RGB(255, 0, 0) ' Affiche le pixel en rouge
Me.DrawWidth = 1 ' Pixel normal
Me.ScaleMode = vbTwips ' Feuille en mode Twip
End Sub



' Exemple proposé par int19h (Int19h@caramail.com)
' Placer un Timer sur la form, puis le code suivant :

Private Declare Function GetCursorPos Lib "user32" _
         (lpPoint
As PointAPI) As Long

Private Type
PointAPI
    x
As Long
   
y As Long
End Type

Private Sub
Form_Load()
Timer1.Interval = 100
End Sub

Private Sub
Timer1_Timer()
Dim Tampon As PointAPI
GetCursorPos Tampon
Form1.Caption = "Mouse Position : " & Tampon.x & "-" & Tampon.y
End Sub

Retour à la liste des API

Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr