sacksith
Messages postés13Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention25 avril 2004
-
25 avril 2004 à 05:15
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 2006
-
27 avril 2004 à 20:56
Bonjour,
Après avoir déclaré une nouvelle classe, WINDCLASSEX, je crée une fenêtre HWND FentreFille=CreateWindowEx(avec la nouvelle classe)
ok tout va bien.
Maintenant, je voudrais détruire FenetreFille sans détruire Le fenetre principale.
Un bouton dans FenetreMere DestroyWindow(FenetreFille) mais :
dans la procédure de FenetreFille, il y a un PostQuitMessage(0) qui me ferme _tout_ le programme et pas uniquement FenetreFille.
sacksith
Messages postés13Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention25 avril 2004 25 avril 2004 à 16:32
Si j'enlève le PostQuitMessage(0) de FenetreFille, cette dernière est bien effacée de l'écran mais pas détruite. En effet, je fais un test derrière if(!FenetreFille) et je n'entre pas dans la boucle.
Par contre, j'ai trouvé un autre moyen à partir d'un source mais je ne comprend pas le fonctionement. Si qq peut m'expliquer :
je détruit FentreFille et je met tout de suite derrière un FentreFille=NULL;
Comment fonctionne cette dernière instruction ?
dom
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 27 avril 2004 à 20:56
quand tu détruit ta fenêtre, il faut mettre aussi la variable à NULL car sinon tu auras un handle non valide. C'est un peu comme avec les pointeurs, après l'avoir détruit, tu le met à NULL pour être sûr qu'il pointe pas vers une adresse bibon.
pour tester la validité d'un handle tu as IsWindow().