Fenêtre par dessus boite dialogue

Résolu
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008 - 24 oct. 2004 à 13:22
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008 - 24 oct. 2004 à 17:56
Salut,

J'ai un programme win32 qui est une boite de dialogue.

Je voudrais que lorsque qu'on clique sur un bouton ça ouvre une FENETRE par dessus la boite de dialogue.

Je sais que pour les boite de dialogue il y a les MAKEINTRESOURCE mais pour la fenetre j'y arive pas.

Lorsque je clique sur le bouton il ne ce passe rien.

Pouvez vous m'aider SVP ???

7 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
24 oct. 2004 à 13:32
Salut,
Pour créer une fenêtre, il faut
-Enregistrer une classe avec RegisterClassEx
-Créer une fenêtre de cette classe avec CreateWindowEx
-Tu fais cela dans le message WM_COMMAND quand wParam vaut l'ID de ton boutton.
Tu peux trouver des tutorial sur la création de fenêtres sur ce site
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
24 oct. 2004 à 13:33
0
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008
24 oct. 2004 à 14:03
Ok merci pour ce tuto.

Mais le problème c'est que moi à la base j'ai une boite de dialogue.

Alors est ce que c'est possible d'afficher une fenêtre par dessus une boite de dialogue ???

J'y arrive pas ...
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
24 oct. 2004 à 14:07
Oui, comme je te l'ai dit au debut
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008
24 oct. 2004 à 17:44
Bon alors j'ai réussi grace à ton tuto à faire ça :

MA FONCTION PRINCIPALE :

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
wc.style = CS_OWNDC;
wc.lpfnWndProc = WindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)GetStockObject(LTGRAY_BRUSH);
wc.lpszMenuName = NULL;
wc.lpszClassName = "OGL";

RegisterClass(&wc);

DialogBox(hInstance,(LPCTSTR)IDD_DIALOG1,NULL,(DLGPROC)MainProc); //ajout produit


return 0;
}

J' APPELE LA FENETRE :

case ID_FENETRE:
hwnd = CreateWindow
("OGL", "Fenetre OpenGL",
WS_CAPTION | WS_POPUPWINDOW | WS_VISIBLE,
0, 0, 640, 480, NULL, NULL, hInstance, NULL
);
break;

J'ai une fonction pour ma boite de dialogue :
LRESULT CALLBACK MainProc(HWND Dlg,UINT message,WPARAM wParam,LPARAM lParam)

Et une autre pour ma fenêtre:
LRESULT CALLBACK WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

POUR FERMER MA FENETRE :

case WM_CLOSE:
wglMakeCurrent (NULL, NULL);
wglDeleteContext (RC);
ReleaseDC (hwnd,DC);
PostQuitMessage (0);
break;

Mais voila, le problème c'est que lorsque je ferme ma fenêtre ça ferme aussi ma boite de dialogue, en fait ça ferme le programme en entier.

J'arrive pas à fermer seulement la fenêtre.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
24 oct. 2004 à 17:49
remplace PostQuitMessage (0); par DestroyWindow(hWnd)
0
goutbouyo Messages postés 429 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 12 janvier 2008
24 oct. 2004 à 17:56
COOOOL !!!
Merci beaucoup ça marche impec grace à toi !!!

En plus tu m'as trouvé un super tutu sur win32 !!!

Encore merci !
à++++++
0
Rejoignez-nous