DIAGRAMME BATON

Redman31100 Messages postés 167 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 février 2009 - 10 oct. 2008 à 16:34
Ouggada Messages postés 38 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 4 mars 2009 - 4 mars 2009 à 08:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48159-diagramme-baton

Ouggada Messages postés 38 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 4 mars 2009
4 mars 2009 à 08:22
oki merci pour ta réponse!

je vais essayer de m'y atteler et de voir comment faire!
et pourquoi pas la chance du débutant me permettra de trouver la soolution!
Sur ce je me remet au boulot!

Cordialement, Ouggada.
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
3 mars 2009 à 16:55
Effectivemment, il n'y a rien de prévu pour lier le tableau avec un datasource, une base de donnée, etc.

La seule solution pour le moment est d'utiliser la propriété "Values" qui attend un tableau de single.

Si j'arrive à trouver un peu de temps, je tacherais à rendre ce control plus dynamique.
Ouggada Messages postés 38 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 4 mars 2009
3 mars 2009 à 16:40
ça y'est j'ai réussit!
fiou!
il faudrait peut-être que je m'achète une paire de lunette!!

seulement maintenant je ne vois pas comment lier des données d'une colonne d'un datagrid ou autre chose???

En tout cas c'est stylé!! j'aime bien! 8/10
Ouggada Messages postés 38 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 4 mars 2009
3 mars 2009 à 15:07
je suis désoler mais j'ai essayer et je n'ai rien trouver...
je me sens mal d'être le seul à pas avoir trouver la solution...
Enfin!
Si tu peux m'aider, j'en serai ravi.
ReMerci d'avance!
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
3 mars 2009 à 14:42
Ce diagramme est un controle donc une fois le fichier ajouté a ton projet, tu peux l'ajouter sur ta form comme tu peux le faire avec un button.

Si tu ne le trouve pas dans la boite a outils, hésite pas à revenir. Au pire j'ajouterais un projet complet dans la source
Ouggada Messages postés 38 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 4 mars 2009
3 mars 2009 à 14:26
yo!
je suis désolé, je suis ptetre un peu lent mais justement je ne comprend pas du coup à quoi correspond le glisser/déposer de la boite à outils vers ma form???

Merci de ta réponse en tout cas!
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
3 mars 2009 à 11:23
Comme dis plus haut :

Il suffit de l'ajouter dans un projet et de faire un glisser/déposer de la boite à outils vers ta form.
Ouggada Messages postés 38 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 4 mars 2009
3 mars 2009 à 10:49
salut!!
j'aimerai utiliser cette source mais je ne sais vraiment
pas comment faire pour la lier à mon projet et accessoirement à un bouton!

En effet lorsque je fais :
Diagramme_Baton.Sow()

j'ai le message suivant :
Une référence à un membre non partagé requiert une référence d'objet.

Merci pour vos réponses,
Cordialement
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
15 oct. 2008 à 19:40
Vous pouvez utilisé la propriété Values pour entrer directement des valeurs prédéfinies.

Par il faut que ce soit un tableau de single dont la taille correspond aux nombres de colonnes du diagramme.
Redman31100 Messages postés 167 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 février 2009
15 oct. 2008 à 17:59
C'est vrai que tu peux pas faire un redim sur la propriété pour agrandir. Moi j'ai réfléchi mais je trouve pas comment faire car redim ca marche ça me dit que la valeur est readonly. pourtant la propriété elle me semble qu'elle est pas readonly
sediq Messages postés 7 Date d'inscription mercredi 13 février 2002 Statut Membre Dernière intervention 28 avril 2009
15 oct. 2008 à 17:57
il n'y a pas un moyen de rendre ce diaqramme dynamique cad on précise les valeurs des le début pour reprenter des statistiques.
sediq Messages postés 7 Date d'inscription mercredi 13 février 2002 Statut Membre Dernière intervention 28 avril 2009
15 oct. 2008 à 17:39
Ah oui j'ai pas fait attention à la boite à outils Merci LESDIS.
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
15 oct. 2008 à 17:31
Il suffit de l'ajouter dans un projet et de faire un glisser/déposer de la boite à outils vers ta form
sediq Messages postés 7 Date d'inscription mercredi 13 février 2002 Statut Membre Dernière intervention 28 avril 2009
15 oct. 2008 à 17:26
comment activer ce control? il n'est lié à aucun projet
Redman31100 Messages postés 167 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 février 2009
15 oct. 2008 à 16:18
Merci lesdis d'avoir amélioré suivant mes idées ^^
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
15 oct. 2008 à 16:11
salut , bon travail ! merci 8/10
Redman31100 Messages postés 167 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 février 2009
10 oct. 2008 à 17:09
dans le code du controle diagramme baton, j'ai modifié ceci :

Public Sub New()
'Valeurs par défaut
NumOrd = 25
NumAbs = 70
name_absc = ""
name_ord = ""
cBatonColor = Color.Lime

InitializeComponent()

FirstIndex = 1
Unite_X = (Me.Width - 40) / NumAbs
Unite_Y = (Me.Height - 40) / NumOrd

'Tracé des axes
Draw_Axe()

'initialisation des valeurs à 5
For x As Integer = 0 To NumAbs - 1
Tab_Point(x) = 5
Next

'Tracé des batons
Draw_Baton()
End Sub

Ensuite en valeur private du controle j'ai ajouté

Private cBatonColor As Color ' couleur des batons

et dans la région propriétés j'ai ajouté

' Couleur Baton

Public Property BatonCouleur() As Color
Get
Return cBatonColor
End Get
Set(ByVal value As Color)
cBatonColor = value
Draw_Axe()
Draw_Baton()
End Set
End Property

Et j'ai modifié ceci :

Private Sub Draw_Baton()

Image_Baton = Image_Axe.Clone 'Création de l'image baton

Dim graph As Drawing.Graphics = Graphics.FromImage(Image_Baton) 'on récupère l'objet graphics de cette image pour dessiner
graph.SmoothingMode = Drawing2D.SmoothingMode.HighSpeed 'passage en mode HighSpeed

'boucle sur toutes les valeurs du tableau et affichage des batons
For x As Integer = 0 To NumAbs - 1
Tab_Point(x) = Math.Ceiling(Tab_Point(x))

Dim valeur_attenuation As Single = IIf(Tab_Point(x) > NumOrd, NumOrd, Tab_Point(x)) 'au cas ou les valeurs du tableau dépasse de la valeur max
Dim My_rectangle As New Rectangle(20 + Unite_X * x, 20 + Unite_Y * (NumOrd - valeur_attenuation), Unite_X, Me.Height - 40 - Unite_Y * (NumOrd - valeur_attenuation)) 'création du rectangle suivant la valeur du tableau
Dim My_Brush As New SolidBrush(cBatonColor)

'affichage du rectangle
graph.FillRectangle(My_Brush, My_rectangle.X, My_rectangle.Y, My_rectangle.Width, My_rectangle.Height)

' affichage du contour
graph.DrawLine(Pens.Black, My_rectangle.Left, My_rectangle.Top + My_rectangle.Height, My_rectangle.Left, My_rectangle.Top)
graph.DrawLine(Pens.Black, My_rectangle.Left, My_rectangle.Top, My_rectangle.Left + My_rectangle.Width, My_rectangle.Top)
graph.DrawLine(Pens.Black, My_rectangle.Left + My_rectangle.Width, My_rectangle.Top, My_rectangle.Left + My_rectangle.Width, My_rectangle.Top + My_rectangle.Height)
Next

'Affichage des coordonnées sur l'image
If Not Image_Coord Is Nothing Then
graph.DrawImage(Image_Coord, Me.Width - size_texte.Width, 0)
End If

'affichage des images à l'écran
Flushimage()

End Sub

Voilà, je remarque que parfois les bordures cote a cote de 2 batons sont pas colinéaires donc ca fait une trait épais.

Voilà
Redman31100 Messages postés 167 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 février 2009
10 oct. 2008 à 16:34
Ton contrôle est super ! 10/10 !

Aucun bug, comme amélioration j'ai peut être une idée c'est de faire un contour noir a chaque baton(droit, haut, gauche seulement).
Rejoignez-nous