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
Rejoignez-nous