[R] Impossible d'avoir un rendu avec les graphiques

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

[R] Impossible d'avoir un rendu avec les graphiques

#1

Message par RL77LUC »

Bonjour à tous !

Je m'en remets à votre aide car je ne trouve aucune solution à mon problème. En fait, j'ai créé un graphique, tout ce qu'il y a de plus normal :

Code : Tout sélectionner

Global $Graph = GUICtrlCreateGraphic(224, 237, 329, 100, $SS_BLACKFRAME)
En fait, j'ai une variable qui contient la valeur de la mémoire vive occupée (Sur 100, en pourcents quoi) et j'aimerais afficher la valeur de cette variable sur le graphique, tous les 2 pixels/seconde (x) et avec ma variable (y), et que ce graphique défile.

J'ai essayé quelques petites choses, en me basant sur des exemples, mais à chaque fois ça me fait un rendu que je ne veux pas du tout. Je veux simplement un graphique tout bête pour afficher cette variable. Auriez-vous quelques pistes ?

Merci d'avance !
Modifié en dernier par RL77LUC le mar. 14 juin 2011 07:53, modifié 1 fois.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#2

Message par TommyDDR »

Un "Graphic" ne vous créé pas un graphique dans le sens "Dessin d'un Tableau de valeurs avec des barres" mais dans le sens "Espace de dessin".

Il me semble (J'en suis sur en faite ;) ) qu'il y a un UDF "GUICtrlGraphique.au3" présent sur le forum (Je le sais, c'est quelqu'un de très proche qui l'a fait :P ). Essayez de le retrouver et de comprendre comment il marche (2 fonctions, une pour créer, une pour ajouter une valeur !), cela ne devrait pas être bien compliqué.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#3

Message par RL77LUC »

Je suppose que vous parlez de votre UDF (http://www.autoitscript.fr/forum/viewto ... =Graphique), mais déjà, il ne me convient pas car je veux un graphique un peu plus simple, pas en 3D (à la limite, ça reste vivable) mais surtout, les données que je rentre ne s'affichent pas :S.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#4

Message par TommyDDR »

Pouvez vous envoyer votre code ?

En analysant test_graph.au3 vous devriez comprendre le fonctionnement
PS : la valeur à ajouter doit être en pourcentage (0-100)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#5

Message par RL77LUC »

J'ai tout d'abord déclaré le graphique (dans ma GUI, avant le SW_SHOW) comme ceci :

Code : Tout sélectionner

Global $Graph = _GUICtrlCreateGraphic3D($Form1, 224, 237, 329, 100)
J'ai ensuite affiché ma GUI :

Code : Tout sélectionner

GUISetState(@SW_SHOW, $Form1)
Et j'ai ajouté les valeurs (pour tester uniquement ^^) :

Code : Tout sélectionner

_GUICtrlAjouterValeur($Graph, 50)
_GUICtrlAjouterValeur($Graph, 20)
_GUICtrlAjouterValeur($Graph, 30)
Sauf que le graphique reste désespérément vide.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#6

Message par TommyDDR »

Pouvez vous envoyer TOUT votre code ?

Avec ces quelque lignes, je ne pourrais pas déterminer ce qui ne va pas ^^.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#7

Message par RL77LUC »

Il est un peu long en fait ^^.
► Afficher le texteCode
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#8

Message par TommyDDR »

Hum, j'ai bien trouvé pourquoi vous ne voyez pas le graphique mais... pour corriger le problème.. Je ne vois qu'une solution.

Vous ne voyez pas le graphique car (je ne sais pas pourquoi) celui-ci se situe SOUS le GUICtrlCreateGroup()

La solution serait donc de supprimer votre Group :

Code : Tout sélectionner

Global $Group7 = GUICtrlCreateGroup("Mémoire vive (RAM)", 8, 224, 641, 121)
GUICtrlCreateGroup("", -99, -99, 1, 1)
 
J'ai aussi remarqué dans un de mes anciens programme qu'un graphique n'apparait pas non plus par dessus une image (Même si celle-ci est en $GUI_DISABLE)

Peut être un point à remonter ^^.

Conclusion : Si vous voulez un graphique, vous devez enlever votre Group (celui de la RAM).
Au pire des cas, si vous le voulez vraiment, vous pouvez faire 4 images pour recréer le Group mais cela reste de la bidouille.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#9

Message par RL77LUC »

Mais disons que tout mon logiciel est basé sur ces groupes alors c'est ... problématique ^^. Si je le mets après le GUICtrlCreateGroup("", -99, -99, 1, 1), ça ne pourrait pas marcher. Il n'y aurait pas un moyen de le faire passer par dessus ? ^^
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#10

Message par TommyDDR »

Je ne pense pas (si vous trouvez comment faire, je suis preneur), je pense que c'est un bug du GUICtrlCreateGraphic.

Pourquoi avez vous absolument besoin des Group ?
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#11

Message par RL77LUC »

Parce que toute l'interface est séparée avec ça, j'ai réussi à créer un certain "design" alors que je suis vraiment mauvais dans ce domaine XD.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#12

Message par TommyDDR »

Si ce n'est qu'une délimitation visuelle, ce n'est pas vital au programme.
Après plusieurs essais, je n'ai pas trouver comment faire apparaitre un graphic sur un group, désolé...
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#13

Message par RL77LUC »

J'ai moi même essayé quelques trucs, rien n'a fonctionné.
Si je vire le group, vous n'auriez pas une astuce de pro pour le design ? ^^
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#14

Message par mikell »

Avez-vous essayé $WS_EX_COMPOSITED pour la GUI avec $GUI_ONTOP pour le graphique ?

Sinon la bidouille : une 2ème GUI à fond transparent superposée à la GUI principale et contenant le graphique ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#15

Message par TommyDDR »

$WS_EX_COMPOSITED ?

D'où le sortez vous ?

Humm en effet, il existe, mais n'apparait pas dans l'aide autoit !
Je vais me pencher dessus.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#16

Message par TommyDDR »

Prenez la nouvelle version de Graphique3D (Cf mon UDF) et faites comme cela :

Code : Tout sélectionner

$Graph = _GUICtrlCreateGraphic3D($Gui, 100, 100, 100, 100)
GUICtrlCreateGroup("RAM", 90, 90, 120, 120)
GUICtrlCreateGroup("", -99, -99)
 
(Les valeurs sont bidon, c'est juste pour indiquer l'ordre de création -> Mettre le graphique avant le group) et le tour est joué ;)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#17

Message par mikell »

Franchement je ne vois pas où est le problème
Il faut juste fermer le groupe avant de définir le graphique, c'est tout :shock:
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#18

Message par TommyDDR »

Oui, mais l UDF créé une fenêtre enfant ça n'est pas un control direct de la fenêtre principale et le group cache celle-ci.

L'UDF à jour + création du group APRÈS le graphique et le tour est joué.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
RL77LUC
Niveau 5
Niveau 5
Messages : 173
Enregistré le : mar. 21 sept. 2010 16:54
Status : Hors ligne

Re: [..] Impossible d'avoir un rendu avec les graphiques

#19

Message par RL77LUC »

Cela fonctionne parfaitement bien ! Merci beaucoup, je passe en résolu.
Répondre