Positionner le Curseur

Résolu
DDelec24
Messages postés
109
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
23 octobre 2007
- 21 mai 2005 à 11:59
DDelec24
Messages postés
109
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
23 octobre 2007
- 21 mai 2005 à 15:27
Bonjour!
Me voila avec une question surement bete, mais je n'arrive pas a la résoudre
Je veux positionner le curseur de ma souris a un emplacement.

je déclare donc =>
Private Declare Function SetCursorPos Lib "user32" _
(ByVal x As Long, ByVal y As Long) As Long

Je voudrais par exemple que le curseur ce positionne sur le "command1"
je fais donc =>
Call SetCursorPos(Command1.Left, Command1.Top)

Mais la le curseur par sur langle bas droit

Quelqu'un pourrais-t'il m'aidé??

En vous remerciant par avance,

Amicalement, AigleNoir

2 réponses

BozzoDodo
Messages postés
185
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
10 janvier 2008

21 mai 2005 à 12:14
Salut!

Alors dans ton code il y a plusieurs erreurs:

- les valeurs x et y sont celles de la position du
curseur sur l'écran. Si tu prends x=command.left et y=command.top, le
curseur se mettra dans les coordonnées (command.left, command.top) à
partir du coin haut à gauche de l'écran. Ton controle command1 se
trouve sur une feuille. Il faut tenir compte des coordonnées de
celle-ci.

- les coordonnées doivent être données en pixel:
command1.top renvoit des coordonnées en twips si la propriété scalemode
de ta feuille est 1 (Twip). Il faut donc convertir les coordonnées
twips en pixels.



Enfin, pour arriver à fait ce que tu veux, il faut utiliser ce code:



Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long



Private Type RECT

Left As Long

Top As Long

Right As Long

Bottom As Long

End Type



Private Sub Command1_Click()

Dim RC As RECT

GetWindowRect Command1.hwnd, RC

SetCursorPos RC.Left, RC.Top

End Sub



L'api GetWindowRect retourne la position absolue de ton bouton sur l'écran et non par rapport à ta fenêtre.

Voila bonne prog'!
3
DDelec24
Messages postés
109
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
23 octobre 2007

21 mai 2005 à 15:27
Merci beaucoup pour ta réponse claire et précise, je comprend mon erreur maintenant

Amicalement, AigleNoir
0