Obtenir Coordonnées Absolues d'un controle

Nowid50 Messages postés 45 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 29 octobre 2009 - 19 oct. 2008 à 21:26
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 19 oct. 2008 à 21:47
Bonjour,

J'aimerais savoir comment obtenir les coordonnées X et Y absolue d'un controle par rapport à l'écran. C'est a dire, leur position depuis le 0 de l'écran.

Merci d'avance.

2 réponses

Sehnsucht Messages postés 107 Date d'inscription samedi 25 novembre 2000 Statut Membre Dernière intervention 4 mai 2013
19 oct. 2008 à 21:40
Exemple avec un Label nommé Label1:



Dim Position As Point = Label1.PointToScreen(Label1.Location)

Autre exemple en utilisant une Fonction:

Private Function Position(ByVal ctrl As Control) As Point
        Return ctrl.PointToScreen(ctrl.Location)
End Function

Utilisation (toujours avec Label1):

Dim Position As Point = Position(Label1)
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 oct. 2008 à 21:47
Tu as d'autres méthodes, mais la plus simple est peut-être de faire l'addition, pour chacune des coordonnées x et y, des corrdonées Left et Top de ta Form et de celles (ramenées à l'échelle Twips) de ton contrôle.
De mémoire, tu as également la possibilité d'utiliser la fonction ClienToScreen de la librairie User32 de l'Api de Windows  (maos à la condition que ton contrôle soit un contrôle doté de la propriété hwnd)
0
Rejoignez-nous