Embout de ligne

cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 - 14 janv. 2016 à 20:16
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 18 janv. 2016 à 07:52
Bonjour,

Pour VB6, existe t-il une API qui permet de tracer un embout de ligne, flèche, puce ou autre ? Merci

Bonne soirée
--

5 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
14 janv. 2016 à 20:28
Bonjour,
1) en "bout de ligne" de quoi ?
2) "tracer" ? ou "imprimer" ? "et sur quoi ? (écran, Picturebox, Imprimante ?)
Montre donc, s'il te plait, le code par lequel tu "traces" cette "ligne" ...


0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié par vb95 le 14/01/2016 à 21:05
bonjour !
Précises ce que tu entends par embout de ligne, puce, flèche et autre !
Serait-ce pour dans un texte y insérer des marques bien précises qui serviraient de repères ?

Va voir ici pour une piste : https://msdn.microsoft.com/fr-fr/library/2bdt6zkb%28v=vs.110%29.aspx

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. 
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
15 janv. 2016 à 01:23
Bonjour vb95,

Merci mais c'est pour du .Net et je travaille encore en VB6 !
Cordialmenet
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017
15 janv. 2016 à 12:27
Exact cs_cheyenne je n'avais pas fait attention ! Désolé
Meilleurs vœux 2016 et bonne prog
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
15 janv. 2016 à 01:21
Bonjour ucfoutu et vb95

Mon "bout de ligne" serait plutôt une flèche.
J'ai des graphiques genre boussole et autres cadrans alors plutôt que de tracer une simple ligne depuis le centre jusqu'à la valeur j'ai pensé à mettre une flèche au bout qui pointe vers la valeur.
Pour faire plus simple, prenons une horloge dont les aiguilles seraient garnies d'une flèche à leurs extrémités.
Je précise à ucfoutu que c'est à l'écran que doit s'afficher cette ligne avec son "embout"
Oui, bien sûr, il y a moyen de la dessiner cette flèche ! mais si une des fonctions de l'API lermet de le faire alors pourquoi s'en priver ?.

Merci.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 15/01/2016 à 06:57
Il n'existe pas de "fonction de l'Api" faisant cela.
Il te faudra donc dessiner les trois segments qui composent une flèche, à l'aide par exemple de la méthode Line de VB6.

EDIT : Ma réponse est pour VB6 (le présent sous-forum). Il semble que VB.Net ait par contre prévu ce cas, si j'en crois ce que je lis ici :
http://codes-sources.commentcamarche.net/forum/affich-1454189-comment-dessiner-des-fleches-sur-une-picture-box

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0

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

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 15/01/2016 à 11:11
Si maintenant tu veux une flèche à la fois parfaite et paramétrable, il va te falloir utiliser des calculs de symétrie. Une flèche est en effet composée :
- d'un segment "principal" AB
- d'un segment XB reliant un point X (à placer où tu le souhaites... c'est lui, le paramètre) au point B
- d'un segment YB, reliant le point Y (symétrique du point X par rapport au segment AB) au point B
Les maths n'interviennent là que pour calculer les coordonnées de ce point Y
Tu trouveras ici les calculs nécessaires :
http://www.matheureka.net/Q121.htm

Il est clair que les calculs à faire sont bien plus simples si le segment AB est toujours horizontal ou toujours vertical, mais tu n'as rien dit de cet aspect et je t'ai donc envoyé vers le lien qui traite de tous les cas de figure (quel que puisse être l'angle de la droite passant par A et B)
-

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Si si, j'ai bien précisé ! j'ai parlé de boussole et de cadran. Donc pas toujours horizontal ou vertical.
Je trace ma ligne du centre x1,y1 à x2,y2 de là je fais Line (x2-delta,,y2+delta)-(x2,y2) et Line(x2-delta,y2+delta)(x2,y2) et j'ai mes deux segments.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211 > cheyenne
15 janv. 2016 à 13:02
Ainsi dessinés, tes deux petits segments de flèche ne seront symétriques que dans les cas particuliers suivants :
- flèche verticale
- flèche horizontale
- flèche inclinée à 45 °
et ne le seront pas dans tous les autres cas (flèche imparfaite).
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
16 janv. 2016 à 19:34
Bon dans ce cas je recherche le Cos et le Sin de la base de chaque segment et cela devrait être bon Je n'ai pas encore essayé car c'est pour plus tard.
Ce sera pour aller dans mon soft que je développe qui donne les différents paramètres de la lune et du soleil. La flèches servira, sur l'un des cadrans, à indiquer l'azimut de chaque objet céleste.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211 > cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017
Modifié par ucfoutu le 16/01/2016 à 20:27
Ce sera en effet de la trigo avant même de développement. Le développement consistera, lui, à appliquer les calculs de trigo. Quant à ces derniers : c'est de la TRIGO, préalable et nécessaire, quel que puisse être le langage de développement à tutiliser ENSUITE pour traduire en code les expressions mathématiques successives.
Voilà. Ne te trompe pas de forum. Celui-ci est un forum de développement et non de maths.
VB6 t'offre, pour traduire tes expressions de calcul, toutes les fonctions nécessaires et qui figurent parmi la liste suivante :
Abs Function
Atn Function
Cos Function
Exp Function
Fix Function
Int Function
Log Function
Rnd Function
Sgn Function
Sin Function
Sqr Function
Tan Function
Derived Math Functions
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 16/01/2016 à 21:23
Puis-je quand-même te rappeler que tu n'as pas nécessairement besoin de passer par des calculs trigonométriques ?
- tu connais (mon exemple plus haut) les coordonnées :
--- du point A (le départ de ton segment à doter d'une flèche)
--- du point B (la pointe de ta flèche)
--- du point X (puisque tu le choisi comme paramètre)
- tu peux donc en déduire aussitôt :
--- l'équation de la droite (celle passant par A et B), de type Y = ax + b, où a est son coefficient angulaire
--- l'équation de la droite perpendiculaire à ta ligne et passant par le point X. son coefficient angulaire est, lui = à -1/a. Tu l'appliques et en déduis la valeur b' dans son équation y = -(1/a) + b'
--- les coordonnées du point d'intersection des deux droites
Le reste est simple (calcul de distances sur cette perpendiculaire à partir du point X pour obtenir les coordonnées du point Y)
Même sans trigo, donc ...
0
Rejoignez-nous