DestroyWindow et plusieurs fenêtres
Bonjour,
j'ai un problème avec la fonction Win32 DestroyWindow() :cry:
Voici mon problème dans les grandes lignes :
J'ai créé deux fenêtres avec CreateWindowExW et je souhaite supprimer la première car
elle ne m'est plus d'aucune utilité.
Je fais donc DestroyWindow(hWin1) et il me détruit la deuxième aussi...
Voici des extraits de mon code (c'est du C openGL avec wgl seulement) :
ma Window Class a les styles suivants
Code:
1 2
|
UI_windowClass.style = CS_HREDRAW | CS_VREDRAW; |
Ma première fenêtre vide et non-affichée est créée comme cela :
Code:
1 2 3 4 5 6
|
UI_hDummy = CreateWindowExW(
(WS_EX_APPWINDOW),
L"UI_WindowClass",L"",
(WS_TILEDWINDOW),20,40,
40,40, (HWND) 0,0, GetModuleHandleW(0),0); |
Ensuite, avant de créer la deuxième fenêtre, je détruis la première :
Code:
1 2
|
DestroyWindow(hWin); // hWin = UI_hDummy |
Puis je crée la seconde :
Code:
1 2 3 4 5 6 7 8 9 10
|
UI_hWindow = CreateWindowExW(
(WS_EX_APPWINDOW|WS_EX_ACCEPTFILES),
L"UI_WindowClass",L"",
(WS_TILEDWINDOW|WS_VSCROLL),20,40,
(int) (scaleXY * 640),(int) (scaleXY * 480),
(HWND) parentwindowhwnd,0,
GetModuleHandleW(0),0);
ShowWindow(UI_hWindow, SW_SHOW);
UpdateWindow(UI_hWindow); |
Je crée la scène OpenGL et le rendu se fait deux ou trois fois puis la fenêtre se
ferme du fait du DestroyWindow.
Si je fais sans DestroyWindow tout se passe bien, mais
j'aimerais comprendre pourquoi la deuxième fenêtre se ferme alors
qu'elle n'existait même pas avant le DestroyWindow ?
edit : pour info, c'est une application console qui lance une fenêtre OpenGL (en fait deux).