Ma fenetre ne s'affiche pas

graall Messages postés 27 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 2 novembre 2005 - 17 janv. 2005 à 17:09
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 - 17 janv. 2005 à 20:12
Bonjour,
j'un pb avec un code :

#include <windows.h>


LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);


HWND hWnd;


const HBRUSH hBackground = CreateSolidBrush(RGB(200,200,200));


static char szClassName[] = "Fenêtre Windows simple";


int WINAPI WinMain (HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpcmdLine,int nCmdShow)
{
WNDCLASSEX winclass;

winclass.hInstance = hInstance;
winclass.lpfnWndProc = WindowProcedure;
winclass.hbrBackground = hBackground;
winclass.style = CS_HREDRAW | CS_VREDRAW;
winclass.lpszClassName = szClassName;
winclass.cbSize = sizeof (WNDCLASSEX);
winclass.hIcon = LoadIcon (NULL, IDI_APPLICATION);
winclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
winclass.hCursor = LoadCursor (NULL, IDC_ARROW);
winclass.lpszMenuName = NULL;
winclass.cbClsExtra = 0;
winclass.cbWndExtra = 0;

hWnd = CreateWindowEx (
0,
szClassName,
"Fenêtre simple",
WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX,
CW_USEDEFAULT,
CW_USEDEFAULT,
644,
475,
HWND_DESKTOP,
NULL,
hInstance,
NULL);

ShowWindow (hWnd, nCmdShow);

MSG messages;
while (GetMessage (&messages, NULL, 0, 0))
{
TranslateMessage(&messages);
DispatchMessage(&messages);
}

return messages.wParam;
}


LRESULT CALLBACK WindowProcedure (HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch (message)
{
case WM_DESTROY:
PostQuitMessage (0);
break;


default:
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}

Quand je compile (avec dev-c++), il n'y a pas d'erreurs mais ma fenetre ne s'affiche pas :-(
pourrait-on me dire ou est mon erreur...

merci d'avance.

5 réponses

garslouche Messages postés 584 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
17 janv. 2005 à 17:25
Il faut le style WS_VISIBLE

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
0
bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010
17 janv. 2005 à 18:08
WM_VISIBLE n'est pas indispensable puisqu'il utilise ShowWindow. Par contre c'est bien beau de créer une classe de fenêtre mais c'est mieux de l'enregistrer avant la création.

RegisterClassEx(&winclass);
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
17 janv. 2005 à 18:20
Ne faut-il pas enregistrer la classe ?


if(!RegisterClassEx(&winclass))
{
return 0;
}


void Aurevoir( void ); //Bonne journée
0
graall Messages postés 27 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 2 novembre 2005
17 janv. 2005 à 20:09
merci beaucoup
0

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

Posez votre question
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
17 janv. 2005 à 20:12
Oups j'avais pas vu la réponse de Bayeto :s
J'ai pas l'air con mdr !!!


void Aurevoir( void ); //Bonne journée
0