Redman31100
Messages postés167Date d'inscriptionmardi 11 septembre 2007StatutMembreDernière intervention11 février 2009
-
10 oct. 2008 à 16:34
Ouggada
Messages postés38Date d'inscriptiondimanche 24 décembre 2000StatutMembreDerniè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.
Ouggada
Messages postés38Date d'inscriptiondimanche 24 décembre 2000StatutMembreDerniè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és403Date d'inscriptionmercredi 19 avril 2006StatutMembreDerniè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és38Date d'inscriptiondimanche 24 décembre 2000StatutMembreDerniè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és38Date d'inscriptiondimanche 24 décembre 2000StatutMembreDerniè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és403Date d'inscriptionmercredi 19 avril 2006StatutMembreDerniè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és38Date d'inscriptiondimanche 24 décembre 2000StatutMembreDerniè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és403Date d'inscriptionmercredi 19 avril 2006StatutMembreDerniè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és38Date d'inscriptiondimanche 24 décembre 2000StatutMembreDerniè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és403Date d'inscriptionmercredi 19 avril 2006StatutMembreDerniè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és167Date d'inscriptionmardi 11 septembre 2007StatutMembreDernière intervention11 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és7Date d'inscriptionmercredi 13 février 2002StatutMembreDernière intervention28 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és7Date d'inscriptionmercredi 13 février 2002StatutMembreDernière intervention28 avril 2009 15 oct. 2008 à 17:39
Ah oui j'ai pas fait attention à la boite à outils Merci LESDIS.
lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDerniè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és7Date d'inscriptionmercredi 13 février 2002StatutMembreDernière intervention28 avril 2009 15 oct. 2008 à 17:26
comment activer ce control? il n'est lié à aucun projet
Redman31100
Messages postés167Date d'inscriptionmardi 11 septembre 2007StatutMembreDernière intervention11 février 2009 15 oct. 2008 à 16:18
Merci lesdis d'avoir amélioré suivant mes idées ^^
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 15 oct. 2008 à 16:11
salut , bon travail ! merci 8/10
Redman31100
Messages postés167Date d'inscriptionmardi 11 septembre 2007StatutMembreDernière intervention11 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
'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)
4 mars 2009 à 08:22
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.
3 mars 2009 à 16:55
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.
3 mars 2009 à 16:40
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
3 mars 2009 à 15:07
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!
3 mars 2009 à 14:42
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
3 mars 2009 à 14:26
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!
3 mars 2009 à 11:23
Il suffit de l'ajouter dans un projet et de faire un glisser/déposer de la boite à outils vers ta form.
3 mars 2009 à 10:49
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
15 oct. 2008 à 19:40
Par il faut que ce soit un tableau de single dont la taille correspond aux nombres de colonnes du diagramme.
15 oct. 2008 à 17:59
15 oct. 2008 à 17:57
15 oct. 2008 à 17:39
15 oct. 2008 à 17:31
15 oct. 2008 à 17:26
15 oct. 2008 à 16:18
15 oct. 2008 à 16:11
10 oct. 2008 à 17:09
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à
10 oct. 2008 à 16:34
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).