Position d'un contrôle

phoenix91720 Messages postés 35 Date d'inscription samedi 10 avril 2004 Statut Membre Dernière intervention 13 avril 2007 - 19 janv. 2006 à 14:35
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 20 janv. 2006 à 16:21
Bonjour à tous...

Dans une form VB, j'ai plusieurs frame contenant chacune plusieurs textbox.
Je voudrais, lorsque je clique dans une textbox affiché une form juste à côté de ma textbox.

Le problème est que je ne connais pas la position de mon contrôle textbox par rapport au bord de l'écran pour régler la position de ma form. Il y a bien les propriété left et top, mais elles me donnent la position du textbox par rapport au coin supérieur gauche de ma frame, et non de ma form.

Comment récupérer les coordonnées d'un contrôle (lorsqu'on clique dedans) par rapport au bord de l'écran....

HELP !!!

6 réponses

borntoclimb Messages postés 98 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 7 mars 2006 4
19 janv. 2006 à 14:47
La position de ta form par rapport au bord de l'écran est:

Me.Left

Donc pour metter ta nouvelle form á droite du controle:

NewForm.Left = Me.Left + Me.Control.Left + Me.Control.Width

A+

Borntoclimb

---No pasa nada...
0
borntoclimb Messages postés 98 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 7 mars 2006 4
19 janv. 2006 à 14:49
J'avais pas vu que tu avais une Frame. C'est le meme principe:

NewForm.Left = Me.Left + Me.Frame.Left + Me.Control.Left + Me.Control.Width

Borntoclimb

---No pasa nada...
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
19 janv. 2006 à 14:58
+ un petit chouillat pour l'éventuelle bordur de la form !!

CR
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
19 janv. 2006 à 18:40
sachant que le but semble donc de faire apparaître la Form tel un
PopUp, c'est donc plutôt la position de la souris qui peut servir...

non?

API : GetCursorPos

PCPT [AFCK]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phoenix91720 Messages postés 35 Date d'inscription samedi 10 avril 2004 Statut Membre Dernière intervention 13 avril 2007
20 janv. 2006 à 11:46
Merci de vos réponse.

J'avais en effet vu la fonction GetCursorPos, cependant, je ne veux pas que ma fenêtre s'affiche par rapport à la position du clic de souris, mais bien par rapport au bord de ma textbox. En fait, j'affiche un slider dans une form, juste à côté de la textbox, pour saisir la valeur à la souris, et non au clavier.

Concernant les autres solutions, je vais essayé, cependant, lorsque je clique dans un textbox, je ne sais pas en général dans combien de frame je suis, ni si elles sont enable ou pas.
J'avais pensé à faire une boucle pour récupérer les conteneurs et ensuite faire le calcul de poisition. Par contre, je sais pas écrire çà en VB... Une Idée ???
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 janv. 2006 à 16:21
le calcul donné par BornToClimb devrait te donner satisfaction......

sinon tu peux récupérer la zone rectangle par le Handle de ta txtbox.

des solutions, il y en a toujours.... ;)
0
Rejoignez-nous