TextOut et picturebox

cs_fraizer Messages postés 15 Date d'inscription dimanche 11 mai 2003 Statut Membre Dernière intervention 11 octobre 2005 - 6 mars 2005 à 20:43
cs_fraizer Messages postés 15 Date d'inscription dimanche 11 mai 2003 Statut Membre Dernière intervention 11 octobre 2005 - 7 mars 2005 à 18:52
Help !!!
Dans l'evenement mousemove d'une picturebox, j'appelle l'API textout avec les position X,Y de la souris.
Le probleme est que l'affichage du texte ne correspond jamais a la position de la souris
Qui peux m'aider ?....sachant que le scalemode de la picturebox est en twips et que ça doit fonctionner suivant n'inporte quelle résolution de l'écran.

D'avance un grand merçi.

7 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
6 mars 2005 à 20:51
met ta PictureBox en pixels ça marchera mieux.

Daniel
0
cs_fraizer Messages postés 15 Date d'inscription dimanche 11 mai 2003 Statut Membre Dernière intervention 11 octobre 2005
6 mars 2005 à 21:54
ça ne marche pas.
en fait je suis obliger d'apliquer un facteur de correction au valeur x et y pour que le textout accroche a la position x et y de la souris.
mais lorque la résolution de l'ecran change le facteur n'est plus valable
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
6 mars 2005 à 22:18
comment ça marche pas, tu écris bien dans la PictureBox ?
si tu as mis le ScaleMode de la PictureBox en Pixels, tu reçois bien les coordonnées X et Y en pixels, et dans ce cas il n'y a pas de correction à faire.

Daniel
0
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
7 mars 2005 à 00:12
Essai ça:
X * Screen.TwipsPerPixelX
Y * Screen.TwipsPerPixelY

ou encore:
Picture1.CurrentX = X
Picture1.CurrentY = Y
Print "tontext"


Warning
Admin Codes-Sources.com
http://www.decompiler-vb.net/
0

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

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
7 mars 2005 à 00:24
ce serait mieux une division sinon tu vas te retrouver avec des Twips<SUP>2
</SUP>si tu veux vraiment une conversion en pixels, utilise plutôt ça:

nouveauX = ScaleX(X, Picture1.ScaleMode, vbPixels)
nouveauY = ScaleY(Y, Picture1.ScaleMode, vbPixels)

ça marchera quelque soit l'unité de la PictureBox, mais si Scalemode est déjà en Pixels la conversion ne sert à rien.

Daniel
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
7 mars 2005 à 06:53
Attention, les coordonnées de la souris sont sûrement bonnes, mais il
est possible que le TextOut n'écrive pas là où il veut : s'il veut que
le texte soit centré par rapport à la souris, ou encore que le texte
soit juste au dessus de la souris, forcément, "ca ne marche pas"
(j'adore cette expression qui est tellement vague qu'on la comprend
jamais !). Il faut que tu positionne ton texte selon tes envie au
alentours des coordonnées de la souris (utilise pour cela
GetTextExtentPoint32 par exemple pour récupèrer la taille du texte qui
sera affiché), et là, "ca marchera" ;)

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : http://www.ProgOtoP.com/popapi/
0
cs_fraizer Messages postés 15 Date d'inscription dimanche 11 mai 2003 Statut Membre Dernière intervention 11 octobre 2005
7 mars 2005 à 18:52
Merçi pour tout...mais je laisse tomber... lol
En fait je voulais ecrire du texte incliner a la position de la souris.
Tans pis...du texte droit me conviendras...le bon vieux "PRINT" associer au CurrentX fera l'affaire !
Encore merçi.
0
Rejoignez-nous