[API WIN32] Création d'une courbe dans un Dialog

tarretg Messages postés 22 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 7 août 2007 - 27 juil. 2007 à 11:15
tarretg Messages postés 22 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 7 août 2007 - 7 août 2007 à 15:50
Bonjour,

Je développe actuellement un projet sous Visual C++ avec pluseurs Dialog Box en API.

Sur l'une d'entre elles, je voudrais afficher un graphique (une courbe provenant de plusieurs points ou d'une équation) qui dépendra de valeurs entrées dans des "Edit Box". Je cherche donc à créer une grille vide et à mettre un graphe à l'intérieur!
Que dois-je utiliser comme contrôle pour mettre se graphe?
Ensuite quelles fonctions utiliser pour le créer?
Existe-t-il un tutoriel pour cela? Ou un code source simple auquel je pourrai me référer?
Si non, pourriez vous me donnez quelques tuyaux?

Merci d'avance...

5 réponses

racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 15
27 juil. 2007 à 12:43
Salut,
Tu peux créer un rectangle avec un fond blanc ta boite de dialogue en utilisant Rectangle() ou FillRect(). Tu dessines ensuite la grille dans une boucle avec MoveToEx() et LineTo(). La couleur de la grille sera par exemple gris clair. Avec SetPixel(), tu dessines les points de la courbe.
Voici un code qui pourrait t'aider:
http://www.cppfrance.com/codes/TRACE-COURBES-PARTIR-FICHIER-TEXTE-GDI_37237.aspx
0
tarretg Messages postés 22 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 7 août 2007
27 juil. 2007 à 14:08
OK, je vois à peu près. Merci.
N'y a-t-il pas plus simple à partir de l'éditeur de ressources?
0
ctx_man Messages postés 285 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 20 janvier 2013 2
27 juil. 2007 à 16:14
Salut !
J'avais fait un truc dans le genre il y a longtemps, le principe était le suivant :
Creer une brosse via un bitmap
dessiner un rectangle plein avec cette brosse.

Les fonctions utiles (voir leur doc sur MSDN)
HBRUSH CreatePatternBrush(HBITMAP hbmp);
int FillRect(HDC hDC, CONST RECT *lprc, HBRUSH hbr);
HGDIOBJ SelectObject(HDC hdc, HGDIOBJ hgdiobj);
BOOL DeleteObject(HGDIOBJ hObject);

Après tu dessine ce que tu veux sur ton bitmap, comme par exemple ... une grille ? lol

Sinon, il y a aussi des brosse "logiques", mais la tu contrôle pas la taille de la grille.
LOGBRUSH Brosse;
Brosse.lbStyle = BS_HATCHED;
Brosse.lbColor 0; //0 noir, si tu veux autre chose : RGB(r,g,b); en remplacant r, g, et b par des valeurs numériques
Brosse.lbHatch = HS_CROSS;
HBRUSH CreateBrushIndirect(&Brosse);
0
tarretg Messages postés 22 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 7 août 2007
27 juil. 2007 à 22:33
Merci pour ces infos...
Comment dois-je faire après pour tracer ma courbe et mes axes(unités, titres, etc...)?
Quels sont les fonctions à utiliser et où puis-je trouver des infos, des exemples ou un tuto?
0

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

Posez votre question
tarretg Messages postés 22 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 7 août 2007
7 août 2007 à 15:50
Je viens de trouver ce code très intéressant à ce sujet:
http://www.codeproject.com/miscctrl/High-speedCharting.asp

Le problème est que c'est écrit en MFC...
Quelqu'un as-t-il une solution pour le passer en WIn32?
Merci
0