Tom's Guide > Forum > Programmation > [C++] [API Windows] Erreurs de compilation
Mot :    Pseudo :           
 

Salut je me suis lancer dans le projet de faire un petit logiciel permettant la conversion de fichier .avi en .mp4.... :D
J'ai commancé a faire l'interface alors j'ai creer la fenêtre 2 push-boutton et j'ai fait des menus mais apres j'ai voulu inserer une image et faire une check-box automatique a 2 choix mais il a trouver des erreurs pendant la compilation que je n'arrive pas a resoudre (elles sont detaillé plus bas)
Voici mon code:

Code :
  1. #include <windows.h>
  2. #define ID_B_PARLER 0
  3. #define ID_B_QUITTER 1
  4. HINSTANCE instance;
  5. #define ID_CHECKBOX_1
  6. HWND hControle;
  7.         // une check box automatique deux états
  8.         hControle=CreateWindow(
  9.             "BUTTON",
  10.             "Check box 1",
  11.             WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX,
  12.             130+10,10+20,
  13.             100,20,
  14.             fenetrePrincipale,
  15.             (HMENU)ID_CHECKBOX_1,
  16.             instance,
  17.             NULL);
  18. LRESULT CALLBACK procedureFenetrePrincipale(HWND, UINT, WPARAM, LPARAM);
  19. int WinMain (HINSTANCE cetteInstance, HINSTANCE precedenteInstance,
  20. LPSTR lignesDeCommande, int modeDAffichage)
  21. {
  22.     HWND fenetrePrincipale;
  23.     MSG message;
  24.     WNDCLASS classeFenetre;
  25.     HMENU menu, sousMenu;
  26.     instance = cetteInstance;
  27.     sousMenu = CreateMenu();
  28.     AppendMenu(sousMenu,MF_STRING, ID_B_PARLER, "Convertir" );
  29.     AppendMenu(sousMenu,MF_SEPARATOR, (UINT)NULL, "" );
  30.     AppendMenu(sousMenu,MF_STRING,ID_B_QUITTER,"Quitter" );
  31.     menu = CreateMenu();
  32.     AppendMenu(menu, MF_POPUP, (UINT)sousMenu, "Actions" );
  33.     classeFenetre.style = 0;
  34.     classeFenetre.lpfnWndProc = procedureFenetrePrincipale;
  35.     classeFenetre.cbClsExtra = 0;
  36.     classeFenetre.cbWndExtra = 0;
  37.     classeFenetre.hInstance = NULL;
  38.     classeFenetre.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  39.     classeFenetre.hCursor = LoadCursor(NULL, IDC_ARROW);
  40.     classeFenetre.hbrBackground = (HBRUSH)(1 + COLOR_BTNFACE);
  41.     classeFenetre.lpszMenuName = NULL;
  42.     classeFenetre.lpszClassName = "classeF";
  43.     // On prévoit quand même le cas où ça échoue
  44.     if(!RegisterClass(&classeFenetre)) return FALSE;
  45.     fenetrePrincipale = CreateWindow("classeF", "MP4 Heart Convert ::: Interface de conversion", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, NULL, menu /* Ou LoadMenu(instance, "ID_MENU" )*/, cetteInstance, NULL);
  46.     if (!fenetrePrincipale) return FALSE;
  47.     ShowWindow(fenetrePrincipale, modeDAffichage);
  48.     UpdateWindow(fenetrePrincipale);
  49.     while (GetMessage(&message, NULL, 0, 0))
  50.     {
  51.         TranslateMessage(&message);
  52.         DispatchMessage(&message);
  53.     }
  54.     return message.wParam;
  55. }
  56. LRESULT CALLBACK procedureFenetrePrincipale(HWND fenetrePrincipale, UINT message, WPARAM wParam, LPARAM lParam)
  57. {
  58.     static HWND boutons[2] = {NULL};
  59.     switch (message)
  60.     {
  61.         case WM_CREATE:
  62.                 boutons[0] = CreateWindow("BUTTON", "Convertir", WS_CHILD | WS_VISIBLE,
  63.         290, 480, 100, 30, fenetrePrincipale, (HMENU)ID_B_PARLER, instance, NULL);
  64.                 boutons[1] = CreateWindow("BUTTON", "Quitter", WS_CHILD | WS_VISIBLE,
  65.         400, 480, 100, 30, fenetrePrincipale, (HMENU)ID_B_QUITTER, instance, NULL);
  66.             return 0;
  67.         case WM_COMMAND:
  68.             switch(LOWORD(wParam))
  69.             {
  70.                 case ID_B_PARLER:
  71.                     MessageBox(fenetrePrincipale, "Initialisation du procesus de convertion ; ouverture de la console", "Succès.", MB_ICONINFORMATION);
  72.                     break;
  73.                 case ID_B_QUITTER:
  74.                     SendMessage(fenetrePrincipale, WM_DESTROY, 0, 0);
  75.                     break;
  76.             }
  77.             return 0;
  78.         case WM_DESTROY:
  79.             PostQuitMessage(0);
  80.             return 0;
  81.         default:
  82.             return DefWindowProc(fenetrePrincipale, message, wParam, lParam);
  83.     }
  84. }
  85. void afficheBitmap(HWND fenetreCiblee, char *chemin)
  86. {
  87.         HBITMAP bitmap;
  88.         HDC hDC;
  89.         //Chargement du bitmap
  90.         hDC=GetDC(fenetreCiblee);
  91.         //Affichage du bitmap
  92.         DeleteObject(bitmap);
  93.         ReleaseDC(fenetreCiblee,hDC);
  94. }
  95. HANDLE LoadImage(
  96.     HINSTANCE hinst,
  97.     LPCTSTR lpszName,
  98.     UINT uType,
  99.     int cxDesired,
  100.     int cyDesired,
  101.     UINT fuLoad
  102. );
  103. case WM_PAINT :
  104. {
  105.         HBITMAP bitmap;
  106.         HDC dc;
  107.         PAINTSTRUCT ps;
  108.         bitmap=LoadImage(NULL,"entete.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
  109.         dc = BeginPaint(fenetrePrincipale, &ps);
  110.         DrawState(dc,NULL,NULL,(long)bitmap,NULL,0,0,800,200,DST_BITMAP);
  111.         EndPaint(fenetrePrincipale, &ps);
  112.         DeleteObject(bitmap);
  113.         return 0;
  114. }



Voici le code de ressource.rc

Et voici les erreurs qu'y detecte:
A la ligne 12:
exepected constructor destructor or type conversion before "=" token
Toujours a la ligne 12:
expected ";" or "," before "=" token
A la ligne 130:
expected unqualified-id before "case"
Toujours a la ligne 130:
expected "," or ";" before "case"

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Citation :


hControle=CreateWindow(
"BUTTON",
"Check box 1",
WS_CHILD|WS_VISIBLE|BS_AUTOCHECKBOX,
130+10,10+20,
100,20,
fenetrePrincipale,
(HMENU)ID_CHECKBOX_1,
instance,
NULL);



Tu initialise ta variable au mauvais endroit. fais le pluotot dans le main

Répondre à elendilm
Tom's Guide > Forum > Programmation > [C++] [API Windows] Erreurs de compilation
Aller à :

Il y a 641 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens