Bonjour à tous,

Sous VC++, j'essaie d'implémenter une fenêtre, avec un bouton permettant de fermer cette fenêtre.

Dans la fonction WinMain(), je crée donc la fenêtre principale avec :
hwnd = CreateWindow (...)

Dans le WndProc() de cette fenêtre, je crée ensuite le bouton en réaction au message WM_CREATE :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 hwndButton= CreateWindow(TEXT("button"),
                                       TEXT("ENTER"),
                                       WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
                                       600, 650,128, 20,
                                       hwnd,
                                       (HMENU) ID_BUTTON,
                                       ((LPCREATESTRUCT)lParam)->hInstance,
                                       NULL) ;
Jusque là, pas de problème.

Le bouton est sensé envoyer un message WM_COMMAND à la fenêtre parent, donc en réaction au message WM_COMMAND du WndProc(), j'insère :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 switch(LOWORD(wParam))
{
case ID_BUTTON:
          SendMessage(hwnd, WM_DESTROY, 0, 0) ;
          return 0 ;
}
Or rien ne se passe lorsque l'on clique sur le bouton.
Est-ce que quelqu'un peut me dire où est l'erreur ?