Votre question

[C++] [API Windows] Erreurs de compilation

Tags :
  • Logiciels
  • Programmation
Dernière réponse : dans Programmation
27 Mai 2007 20:55:30

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:

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


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"

Autres pages sur : api windows erreurs compilation

28 Mai 2007 09:33:25

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
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS