Bargraph,vumetre,progressbar,affichage de donnees

Résolu
bubbledesavon Messages postés 66 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 6 mars 2015 - 23 déc. 2008 à 23:50
bubbledesavon Messages postés 66 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 6 mars 2015 - 26 déc. 2008 à 23:55
bonjour,
apres de nombreuses recherches , je ne trouve pas mon bonheur.
je recois 3 donnees via le port rs232 que je traite en numerique.
et je recherche une barre qui affiche la valeur recu entre -45,0 en passant par 0 jusque 45,0
et un cercle avec une espece d'aiguille qui m'afficherais une valeur comprise entre 0 et 360.
ou la maniere de faire evoluer un dessin selon les donnees.
style un dessin de niveaux a bulle qui monte et descend selon les donnees recues.

je vous remercie d'avance de vos reponses.
les seules chose de trouvé se sont des barre de progressions qui ne vont de 0 a 100% et je ne trouve pas ou modifier la valeur qui est affiché.

bubbledesavon

3 réponses

MOUSSAOUIAAZIZ Messages postés 48 Date d'inscription samedi 5 août 2006 Statut Membre Dernière intervention 9 novembre 2009
24 déc. 2008 à 13:21
Salut;
Pour le
dessin
il existe des  contrôles pour le faire mais moi je préfère de le faire tout seul avec un picture et des fonction simple tell que : <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>








Picture1.Circle (x0, y0), rad   pour dessiner  un cercle dont le centre est x0 , y0 et le radian est rad ;







Picture1.Line (x0, y0)-(x1, y1)  , pour dessiner  ligne








 et ce ci un exemple :











‘Tu met une  Picture






Private Declare Function FloodFill Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long






Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long





Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long





Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long








Dim x0, y0, rad, MonVal As Integer







Dim pi As Double








 






 








Private Sub Command1_Click()







MonVal =       ' la
valeur


 en %









Picture1.Cls







Picture1_Paint







End Sub 








 








Private Sub Picture1_Paint()


















   x0 = 160    'le centre du cercle







   y0 = 160







   rad = 150    ' le radian du cercle


















   pi = 3.14159265358979





























   Picture1.Circle (x0, y0), rad







   Picture1.Line (x0, y0)-(x0, 10)







  q = (MonVal * 2 * pi) / 100   








 
 X1 = x0 + Sin(q) * 150    ' ici on calcule le coordonnées de la deuxième point








  Y1 = y0 - Cos(q) * 150


















   Picture1.Line (x0, y0) -(x1,y1)  


















  hFFBrush = CreateSolidBrush(&HFF8080)    ‘ ici tu peut cahnger la couleur







  SelectObject Picture1.hdc, hFFBrush







  FloodFill Picture1.hdc, x0 + 1, y0 - 148, 0    ‘







  DeleteObject hFFBrush

















End Sub








 







La fonction FloodFill remplit une zone de la surface d'affichage.  La zone est supposée être délimitée.
la fonction Picture1.Cls permet d'effacer le dessin dans le picture et tu peut dessiner une autre foi.
3
cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
24 déc. 2008 à 09:48
Une barre de progression a au moins 3 données : min< value< max
min et max s'intialise par ex à 0 et 100 et value prend une valeur entre 0 et 100 (c'est un exemple)
0
bubbledesavon Messages postés 66 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 6 mars 2015
26 déc. 2008 à 23:55
merci moussaquiaaziz, le systeme du cercle fontionne nickel , mais je galere toujours avec le bargraph .

je recherche encore

merci et merci a loulou69

bubbledesavon
0
Rejoignez-nous