Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème de création d'une progressBar [ Windows / GUI ] (tibob51)

samedi 20 septembre 2008 à 13:16:30 | Problème de création d'une progressBar

tibob51

Membre Club
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

#include <windows.h>
#include <stdio.h>

#include "main.h"
#include <commctrl.h>

/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

/*  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 */
           );
          
           Label1 = CreateWindowEx(0, "STATIC", "text", WS_VISIBLE|WS_CHILD, 5, 2,
            52, 13, Fenetre, (HMENU)ID_LABEL1, hThisInstance, NULL);
          
           Boutton1 = CreateWindowEx(0,"BUTTON","Valider", WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON|BS_NOTIFY|BS_TEXT, 10,15,70,25,Fenetre,
              (HMENU)ID_BOUTTON1, hThisInstance,NULL);
          
           if ((Progressbar= CreateWindowEx(CS_DBLCLKS, PROGRESS_CLASS, NULL, WS_CHILD | WS_VISIBLE | PBS_SMOOTH , 2, 350, 313, 20, Fenetre,(HMENU)ID_PROGRESSBAR, hThisInstance, NULL)) == NULL)
            {
               DWORD err = GetLastError();
               char code[256];
               sprintf(code,"%i",err);
               MessageBox(Fenetre,code,"Erreur",MB_OK);
            }
....

samedi 20 septembre 2008 à 13:52:14 | Re : Problème de création d'une progressBar

aardman

Membre Club
Réponse acceptée !
tu as oublié d'appeler InitCommonControlsEx.



samedi 20 septembre 2008 à 13:54:38 | Re : Problème de création d'une progressBar

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
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);

samedi 20 septembre 2008 à 14:40:46 | Re : Problème de création d'une progressBar

jeffy131

Comment poser encore la question sur InitCommonControls() ?
Ca va faire 14 ans qu'on la rabache toutes les semaines.
Manifestement, tous les noobs ne font plus le moindre aucun effort pour chercher quoi que ce soit :-(


samedi 20 septembre 2008 à 16:34:46 | Re : Problème de création d'une progressBar

tibob51

Membre Club
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)

dimanche 21 septembre 2008 à 01:48:27 | Re : Problème de création d'une progressBar

DeAtHCrAsH

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!

Shell

mercredi 24 septembre 2008 à 13:11:57 | Re : Problème de création d'une progressBar

rt15

Membre Club Administrateur CodeS-SourceS

#{[|#{[\^@`|[, je viens de tomber sur ça ici dans la msdn :



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.


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.


lundi 29 septembre 2008 à 18:14:31 | Re : Problème de création d'une progressBar

tibob51

Membre Club
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



Cette discussion est classé dans : fenetre, wincl, window, ws, hthisinstance


Répondre à ce message

Sujets en rapport avec ce message

probleme bizzare.... [ par lektrosonic ] Bonsoir, j ai code ce client...Code C:#include #include #include #define ID_CONNECT 1#define ID_SEND 2#define WM_SOCKET (WM_APP + 100)<br commen pe ton faire pr creer un damier 8X8 [ par sy3ns ] #include #include #define LARGEUR 600#define LONGUEUR 400// le probleme c'est jai qune ligne de bouton et non pa un damier de bouttonvoid OnDestroy(Gt Win32 problème. [ par TeniX ] Salut, Voila j'ai crée de maniere simple une source qui exprime mon problème , je trouve pas la source du problème , enfaite quand les fenêtres sont l C++ windows [ par notour ] bonjourj'ai réalyser un programme de cryptage de texte sous page DOS mais pour des raison pratique je souh TRANSPARENTE [ par kiki67100 ] Salut voila jai trouver un code mais une fenetre TRANSPARENTE http://files.codes-sources.com/fichier.aspx?id=9615&f=Main.cpp  mais le probleme se que couleur fond appli win32 [ par fredsor ] Salu a vous,Je créé une appli win32 sous devc++ en C.Je créé la fenetre avec CreateWindow, et j'aimerais que le fond soit blanc. Or l'appli se met dés Ajout d'une fenetre supplémentaire en plus de la fenetre principale dans un programme en win32 [ par djin94 ] Bonjour à tous. Je butte actuellement sur un problème. Je souhaite en fait ajouter une fenetre transparente avec CreateWindowEx( ) pour créer une OSD move to next Window [ par anonyme_man_in_this_world ] salut  !comment obtenir un handle  sur le premier controles ou la premiere fenetre child(puisqu'ils sont consideré tous les deux de la meme façon) sit Modifier le style d'une fenetre pendant execution [ par sephiro ] Bonjour j'ai créé une fenetre avec HWND hwnd = CreateWindowEx(WS_EX_TOPMOST, _T("SON NOM"), 0, WS_POPUP | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBL Tabulation dans les champs d'une fenetre [ par billy5938 ] Bonjour,Je veux pouvoir parcourir les champs d'édition (ou même des checkBox) d'une fenetre. En utilisant la methode IsDialogMessage dans la boucle de


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.