Sans static ca ne peux pas marcher, vu que par exemple a un moment tu recoit le message WM_COMMAND tu definis xmax, la procedure se termine, xmax est detruite et au prochain message WM_PAINT xmax vaut 0.
C'est quoi ton message d'erreur si tu met les statics ?
Sinon initialise tes variables a l'exterieur de ta procedure.
J'ai deja essayer d'initialiser à l'exterrieur de la procedure et en mettant des statics mais le programme n'as pas de probleme de compilation ais au demarage il plante.
Pareil pour
HPEN absord = (HPEN) CreatePen (PS_SOLID,2,RGB(0,0,0));
il te faut le definir 1 SEULE fois au debut du fichier par exmple car a chaque appel a ta procedure tu recréé un HPEN et jamais tu ne le detruit >> fuite memoire.
Tu le teste bien en mode debug ? Met un point d'arret au debut au pire mais maintenant que j y pense le plantage peut venir de la fuite memoire.
Donne nous le message d'erreur
sinon deja >> refx (secondx - firstx) / xmax; vu ke xmax 0 division par zero > plantage
Y'a un gros probleme déja, au début de ta WndProc tu crée 2 pens que tu
ne détruis pas, ca fait un (gros) memory leak. La WndProc est appelée
très très souvent, et tu peux etre sur qu'au bout d'un moment ton
programme plantera, a cause de la limite de nombre gdi que l'on peut
créer.
Merci, vous m'avez permi de trouver la reponse.
static int dist;
static int xmin,xmax;
et il fallait rajouter
WM_CREATE :
CreateFirst (hwnd);
CreateSecond (hwnd);
CreateThird(hwnd);
CreateFourth(hwnd);
xmin = 0;
xmax = 10;
dist = 1;
break;
et surtout vous m'avez montré l'une des perte de memoire dont je ne trouver pas la cause.