Membres inscrits :2359
Membres en ligne : 0
Invités en ligne : 6


|
Conversation (Résolue) : wxClientDC, problème après clic sur minimize puis restore bouton. |
ajm (Membre)
Inscrit le : 16-03-2011
Messages: 82
Snippets: 0
Tutoriels: 0
Hors ligne |
Salut,
J'ai tracé une courbe en utilisant wxClientDC, le problème ce que quand le clic sur minimize puis restaurer cette application, la courbe ne s'affiche plus.
voici le code pour tracer cette courbe
Code Cpp: wxClientDC dc(this); wxCoord x0 = 60, y0 = 200; wxCoord x1 = 0, y1 = y0; wxCoord x2 = 500, y2 = y0; wxCoord x3 =x0, y3 = 320; wxCoord x4 = x0, y4 = 10; dc.DrawLine(x1, y1, x2, y2); dc.DrawLine(x3, y3, x4, y4); for (int x=0;x<450;x++)dc.DrawPoint(x+x0,(y0-f(x))); dc.DrawText(_("(0,0)"), x0-25,y0);
Est-ce-que qlq pourrait m'aider à résoudre cette problème?
Dernière modification par ajm (08-08-2012 09:26:02)
|
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1387
Snippets: 25
Tutoriels: 6
Site web
Hors ligne |
Salut.
Il faut que tu gères l'évènement "ON_PAINT" de l'objet sur lequel tu dessines ta courbe.
Je te conseille de créer une fonction spéciale pour le dessin, prenant en paramètre un wxDC pouvant être NULL. Quand tu dois dessiner "normalement" ta courbe, tu appelles cette fonction sans valeur de paramètre. Dans cette dernière, si le paramètre est NULL, tu récupère le wxClientDC du contrôle et tu dessines avec.
Et dans la méthode "ON_PAINT", tu appelles cette même méthode avec le wxPaintDC correspondant.
De cette façon, tu n'auras pas à écrire deux fois le même code pour dessiner ta courbe.
@+ Xav"
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
ajm (Membre)
Inscrit le : 16-03-2011
Messages: 82
Snippets: 0
Tutoriels: 0
Hors ligne |
Merci Xav, je vais doc le tester. ---------- Merci ça marche très bien, vive le forum.
En faite j'ai passé beaucoup de temps pour resoudre cette problème.
Dernière modification par ajm (08-08-2012 10:38:00)
|
|
|