Win Api : comment supprimer l'enfant sans supprimer le parent ?

Win Api : comment supprimer l'enfant sans supprimer le parent ? - C - Programmation

Marsh Posté le 20-09-2006 à 11:24:37    

Bonjour,
 
J'ai créé une fenêtre parent ainsi :
 

Code :
  1. hwnd = CreateWindowEx(WS_EX_COMPOSITED,(LPTSTR )"Class", (LPTSTR )""
  2.             ,WS_BORDER |WS_CAPTION|WS_MINIMIZEBOX |WS_SYSMENU |WS_CLIPCHILDREN ,
  3.                               300,100,larg,haut, NULL,hMenu, hinstance, NULL);


 
et une fenêtre fille ainsi :

Code :
  1. hwndFenetre = CreateWindowEx(0,(LPTSTR )nomClasse, (LPTSTR )"",WS_CHILD ,
  2.                               0,0,larg ,haut, hwnd,NULL, hinstance, NULL);


 
Si j'écris :

Code :
  1. DestroyWindow(hwndFenetre);


ou si j'envoie un message à la procédure de la fenêtre fille  

Code :
  1. SendMessage(hwndFenetre,WM_DESTROY,0,0);


Les deux fenêtres sont détruites. Pourquoi ? J'ai du mal créer ma fenêtre parent mais je ne vois pas la faute.
 
Merci pour votre réponse.


Message édité par acryline le 20-09-2006 à 12:57:17
Reply

Marsh Posté le 20-09-2006 à 11:24:37   

Reply

Marsh Posté le 20-09-2006 à 13:04:57    

J'ai trouvé ..  :whistle: j'avais pas fait attention. C'est la conséquence du copier coller sans réflechir !  
Dans la procédure de la fenêtre fille j'avais ecrit :

Code :
  1. case WM_DESTROY:
  2.                PostQuitMessage(0);
  3.         return 0;


 
Alors c'était logique que mon application se ferme  puisque je le demandais en envoyant le message WN_DESTROY !!  :)
 
Maintenant j'ai mis :
 

Code :
  1. case WM_DESTROY:
  2.         DestroyWindow(hwndFenetre);
  3.         return 0;


 
Et ça marche.


Message édité par acryline le 20-09-2006 à 13:07:43
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed