tibob51
Messages postés268Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention13 mai 2013
-
20 sept. 2008 à 13:16
tibob51
Messages postés268Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention13 mai 2013
-
29 sept. 2008 à 18:14
Bonjour, ayant eu des problèmes sur un programme pour faire avancer une progressbar j'ai voulu faire un programme de test, mais problème dans celui ci je n'arrive pas à créer la barre de progression.
Le code d'erreur est 1407 (impossible de trouver la classe de fenetre).
Je ne vois pas ce que j'aurais pu oublier.
Mon code
/* Make the class name into a global variable */
char szClassName[ ] = "WindowsApp";
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
{
MSG messages; /* Here messages to the application are saved */
WNDCLASSEX wincl; /* Data structure for the windowclass */
/* The Window structure */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
wincl.style = CS_DBLCLKS; /* Catch double-clicks */
wincl.cbSize = sizeof (WNDCLASSEX);
/* Use default icon and mouse-pointer */
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; /* No menu */
wincl.cbClsExtra = 0; /* No extra bytes after the window class */
wincl.cbWndExtra = 0; /* structure or the window instance */
/* Use Windows's default color as the background of the window */
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
/* Register the window class, and if it fails quit the program */
if (!RegisterClassEx (&wincl))
return 0;
/* The class is registered, let's create the program*/
Fenetre = CreateWindowEx (
0, /* Extended possibilites for variation */
szClassName, /* Classname */
"Windows App", /* Title Text */
WS_OVERLAPPEDWINDOW, /* default window */
CW_USEDEFAULT, /* Windows decides the position */
CW_USEDEFAULT, /* where the window ends up on the screen */
544, /* The programs width */
375, /* and height in pixels */
HWND_DESKTOP, /* The window is a child-window to desktop */
NULL, /* No menu */
hThisInstance, /* Program Instance handler */
NULL /* No Window Creation data */
);
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 20 sept. 2008 à 13:54
Salut,
Mets InitCommonControls() ou InitCommonControlsEx() au début de ton WinMain. Tu peux également charger dynamiquement comctl32.dll en mettant au début du WinMain:
HINSTANCE hCmLib= LoadLibrary("comctl32.dll");
puis à sa fin:
FreeLibrary(hCmLib);
tibob51
Messages postés268Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention13 mai 20132 20 sept. 2008 à 16:34
Merci, cependant il me reste un "mystère", dans mon prog je n'ai pas InitCommonControl, mais vu que c'est un prog réseau c'est "inclu" avec la librairie libws2_32.
Merci pour votre aide je galère un peu j'étais un habitué de la prog en VCL (équivalant du MFC, avec borland) de plus je suis passé a dev.
jeffy > Ta réponse ne sert a rien, je suis loin d'être quelqu'un qui ne fais pas de recherche sur msdn avant de poser une question et pas un noob non plus (mais ça pour le savoir faudrait regarder le profil avant)
Vous n’avez pas trouvé la réponse que vous recherchez ?
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 21 sept. 2008 à 01:48
jeffy131> Très constructive ta réponse.... Vraiment! La prochaine fois que tu poses une question je me ferais un plaisirs de t'envoyer petre en te traitant de noob. Si ca te fais tant chié que ca de voir de telles questions, passe donc ton chemin et ne perd pas ton temps a répondre!
Under Comctl32.dll version 5.x, only Microsoft Windows 95 classes (ICC_WIN95_CLASSES) can be registered through InitCommonControls. Programs which require additional common control classes must use the InitCommonControlsEx function.Under Comctl32.dll version 6.0 and later, InitCommonControls does nothing. Applications must explicitly register all common controls through InitCommonControlsEx.
<hr />5.x -> 2000/XP et 6->Vista si la version de la dll est cohérente avec la version de Windows.
Tu es sous Vista tibob51 ?
Je dois mal comprendre : ça me paraît impossible qu'ils aient arrêter de faire fonctionner InitCommonControls sous Vista : il doit y avoir un max d'application qui s'en serve.
tibob51
Messages postés268Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention13 mai 20132 29 sept. 2008 à 18:14
DeAtHCrAsH> Merci du soutient ça fait plaisir ;)
rt15> Non je ne suis pas sous vista je suis sous xp et j'utilise InitCommonControl
par contre je comprend la même chose que toi, c'est vrai que ça me semble bizarre il doit y avoir un max d'incompatibilité alors?!
Je sais pas si quelqu'un pourra nous en dire plus