Partage
  • Partager sur Facebook
  • Partager sur Twitter

Message d'erreur

que je ne comprend pas ...

    30 juin 2007 à 13:10:46

    Bonjour,

    Aujourd'hui, je commence a lire le tuto sur l'API window. :)

    Mais en compilantil me met une erreur du style :

    main.cpp:77: error: expected primary-expression before '=' token 
    :euh:

    Alors a quoi correspond cela ? :o

    Merci ;)
    • Partager sur Facebook
    • Partager sur Twitter
      30 juin 2007 à 14:05:42

      Hello,

      Cette erreur peut provenir de plein de choses. Montre - nous un bout de code pour qu'on puisse t'aider.
      • Partager sur Facebook
      • Partager sur Twitter
      Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
        30 juin 2007 à 14:52:43

        #include <windows.h>

        #define ID_B_PARLER = 0
        #define ID_B_QUITTER = 1

        HINSTANCE instance;

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

        int WINAPI WinMain
        (
            HINSTANCE cetteInstance,
            HINSTANCE precedanteInstance,
            LPSTR lignesDeCommande,
            int modeDAffichage
        )
        {
            HWND fenetrePrincipal;
            MSG message;
            WNDCLASS classFenetre;

            cetteInstance = instance;

            classFenetre.style = 0;
            classFenetre.lpfnWndProc = procedureFenetrePrincipal;
            classFenetre.cbClsExtra = 0;
            classFenetre.cbWndExtra = 0;
            classFenetre.hInstance = cetteInstance;
            classFenetre.hIcon = LoadIcon(NULL, IDI_APPLICATION);
            classFenetre.hCursor = LoadCursor(NULL, IDC_ARROW);
            classFenetre.hbrBackground = (HBRUSH)(1 + COLOR_BTNFACE);
            classFenetre.lpszMenuName = NULL;
            classFenetre.lpszClassName = "classeF";

            RegisterClass(&classFenetre);

            fenetrePrincipal = CreateWindow
            (
                "classeF",
                "Première fenêtre en winAPI !",
                WS_OVERLAPPEDWINDOW, /*Style qui permet d'avoir une fenêtre tout ce qu'il y a de plus normale : barre de titre, menu système (réduire, maximiser, fermer), bordure etc...*/
                CW_USEDEFAULT, // Permet à l'OS de déterminer dynamiquement la position de la fenêtre
                CW_USEDEFAULT, //Idem
                300,
                110,
                NULL, // Pas de fenêtre parent, puisque c'est la principale
                NULL, //Aucun menu ne lui est associé
                cetteInstance,
                NULL // Aucun paramètre à lui envoyer en plus
            );

            ShowWindow(fenetrePrincipal, SW_SHOW);
            UpdateWindow(fenetrePrincipal);

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

            return message.wParam;
        }

        LRESULT CALLBACK procedureFenetrePrincipal
        (
            HWND fenetrePrincipal,
            UINT message,
            WPARAM wParam,
            LPARAM lParam
        )
        {
            static HWND boutons[2] = {NULL};

            switch(message)
            {
                case WM_CREATE:
                    boutons[0] = CreateWindow
                    (
                        "BUTTON",
                        "Parler",
                        WS_CHILD | WS_VISIBLE,
                        5, 5, 383, 30,
                        fenetrePrincipal,
                        ID_B_PARLER,
                        instance,
                        NULL
                    );

                    boutons[1] = CreateWindow
                    (
                        "BUTTON",
                        "Quitter",
                        WS_CHILD | WS_VISIBLE,
                        5, 45, 383, 30,
                        fenetrePrincipal,
                        ID_B_QUITTER,
                        instance,
                        NULL
                    );

                    return 0;

                case WM_DESTROY:
                    PostQuitMessage(0);
                    return 0;

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


        Voila ;)
        • Partager sur Facebook
        • Partager sur Twitter
          30 juin 2007 à 16:26:17

          Il te manque les ; après les "CreateWindow"
          • Partager sur Facebook
          • Partager sur Twitter
          Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
            30 juin 2007 à 18:23:12

            Nan c'est pas sa ... :(

            Att je te l'écrit différament :
            #include <windows.h>

            #define ID_B_PARLER = 0
            #define ID_B_QUITTER = 1

            HINSTANCE instance;

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

            int WINAPI WinMain
            (
                HINSTANCE cetteInstance,
                HINSTANCE precedanteInstance,
                LPSTR lignesDeCommande,
                int modeDAffichage
            )
            {
                HWND fenetrePrincipal;
                MSG message;
                WNDCLASS classFenetre;

                cetteInstance = instance;

                classFenetre.style = 0;
                classFenetre.lpfnWndProc = procedureFenetrePrincipal;
                classFenetre.cbClsExtra = 0;
                classFenetre.cbWndExtra = 0;
                classFenetre.hInstance = cetteInstance;
                classFenetre.hIcon = LoadIcon(NULL, IDI_APPLICATION);
                classFenetre.hCursor = LoadCursor(NULL, IDC_ARROW);
                classFenetre.hbrBackground = (HBRUSH)(1 + COLOR_BTNFACE);
                classFenetre.lpszMenuName = NULL;
                classFenetre.lpszClassName = "classeF";

                RegisterClass(&classFenetre);

                fenetrePrincipal = CreateWindow
                (
                    "classeF",
                    "Première fenêtre en winAPI !",
                    WS_OVERLAPPEDWINDOW, /*Style qui permet d'avoir une fenêtre tout ce qu'il y a de plus normale : barre de titre, menu système (réduire, maximiser, fermer), bordure etc...*/
                    CW_USEDEFAULT, // Permet à l'OS de déterminer dynamiquement la position de la fenêtre
                    CW_USEDEFAULT, //Idem
                    300,
                    110,
                    NULL, // Pas de fenêtre parent, puisque c'est la principale
                    NULL, //Aucun menu ne lui est associé
                    cetteInstance,
                    NULL // Aucun paramètre à lui envoyer en plus
                );

                ShowWindow(fenetrePrincipal, SW_SHOW);
                UpdateWindow(fenetrePrincipal);

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

                return message.wParam;
            }

            LRESULT CALLBACK procedureFenetrePrincipal
            (
                HWND fenetrePrincipal,
                UINT message,
                WPARAM wParam,
                LPARAM lParam
            )
            {
                static HWND boutons[2] = {NULL};

                switch(message)
                {
                    case WM_CREATE:
                        boutons[0] = CreateWindow("BUTTON", "Parler", WS_CHILD | WS_VISIBLE, 5, 5, 383, 30, fenetrePrincipal, ID_B_PARLER, instance,  NULL);

                        boutons[1] = CreateWindow("BUTTON""Quitter", WS_CHILD | WS_VISIBLE, 5, 45, 383, 30, fenetrePrincipal, ID_B_QUITTER, instance, NULL);

                        return 0;

                    case WM_DESTROY:
                        PostQuitMessage(0);
                        return 0;

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

             
            • Partager sur Facebook
            • Partager sur Twitter
              30 juin 2007 à 21:39:30

              OK, mais ça serait pas mal que tu indiques la ligne où est l'erreur, vu que c'est pas le même code. On a pas envie de le tester chez nous pour voir.
              • Partager sur Facebook
              • Partager sur Twitter
              Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.

              Message d'erreur

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown