Partage
  • Partager sur Facebook
  • Partager sur Twitter

mode console vers appli. windows

configuration du projet

    22 janvier 2006 à 22:25:29

    Bonsoir à tous, est-il possible d'importer un code venant d'un projet mode console type :

    #include <stdio.h>
    #include <stdlib.h>

    int main(int argc, char *argv[])
    {
      printf("Bonjour");
      system("PAUSE");     
      return 0;
    }

    dans un projet mode application windows ? Si oui quelles seraient les modifications à apporter au code ?
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      22 janvier 2006 à 22:26:33

      qu'entends-tu par 'importer un code'?
      • Partager sur Facebook
      • Partager sur Twitter
        22 janvier 2006 à 23:03:54

        en retirant les commande relative a la console oui.
        bye bye systrem et std...
        • Partager sur Facebook
        • Partager sur Twitter
          23 janvier 2006 à 13:54:56

          Donc modifier le code comme cela :


          #include <windows.h>

          int main(int argc, char *argv[])
          {
            printf("Bonjour");
            return 0;
          }


          Seulement dans ce cas là, sans "pause" l'exécutable va apparaître en 1/1000ème de seconde
          • Partager sur Facebook
          • Partager sur Twitter
            23 janvier 2006 à 21:27:17

            je crois que c'est plus compliqué que cela !!!
            • Partager sur Facebook
            • Partager sur Twitter
              23 janvier 2006 à 21:29:22

              pour w32, ce n'esyt plus main, mais winmain, et la procedure d'affichage est disons...100*plus compliqué^^
              • Partager sur Facebook
              • Partager sur Twitter
                23 janvier 2006 à 21:30:44


                #include <windows.h>

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

                /*  Make the class name into a global variable  */
                char szClassName[ ] = "CodeBlocksWindowsApp";

                int WINAPI WinMain (HINSTANCE hThisInstance,
                                     HINSTANCE hPrevInstance,
                                     LPSTR lpszArgument,
                                     int nFunsterStil)
                {
                    HWND hwnd;               /* This is the handle for our window */
                    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*/
                    hwnd = CreateWindowEx (
                           0,                   /* Extended possibilites for variation */
                           szClassName,         /* Classname */
                           "Code::Blocks Template 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 */
                           );

                    /* Make the window visible on the screen */
                    ShowWindow (hwnd, nFunsterStil);

                    /* Run the message loop. It will run until GetMessage() returns 0 */
                    while (GetMessage (&messages, NULL, 0, 0))
                    {
                        /* Translate virtual-key messages into character messages */
                        TranslateMessage(&messages);
                        /* Send message to WindowProcedure */
                        DispatchMessage(&messages);
                    }

                    /* The program return-value is 0 - The value that PostQuitMessage() gave */
                    return messages.wParam;
                }


                /*  This function is called by the Windows function DispatchMessage()  */

                LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
                {
                    switch (message)                  /* handle the messages */
                    {
                        case WM_DESTROY:
                            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
                            break;
                        default:                      /* for messages that we don't deal with */
                            return DefWindowProc (hwnd, message, wParam, lParam);
                    }

                    return 0;
                }


                je crois que c'est plutot un truc de ce style la !
                • Partager sur Facebook
                • Partager sur Twitter
                  23 janvier 2006 à 21:36:57

                  rajoute le cas WM_PAINT et la fonction de dessin de texte dans une fenetre(je sais plus laquelle).juste histoire qu'on ait le resultat qu'il veut :°
                  • Partager sur Facebook
                  • Partager sur Twitter
                    23 janvier 2006 à 22:33:00

                    O.k mais le texte je le mets où ???
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      23 janvier 2006 à 22:36:31

                      Où tu veux :)

                      En fait en applications graphiques il faut apprendre les fonctions de l'API pour afficher du texte. Le printf t'affichera toujours dans une console sinon. Alors, cherches un cours sur les fonctions pour afficher du texte, on va pas t'expliquer ça ici.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        23 janvier 2006 à 22:39:31

                        Ce serait trop long de t'expliquer ou et pourquoi.Il faut que tu sache que entre la programmation console et la programmation graphique il y a un gouffre qui est je pense ecore trop grand pour toi. REste encore en console tant que tu ne connais pas toutes les petites choses du language. Et puis l'api win32= beurk.

                        Louisclem, ou on veux, je crois pas, il n'affiche dans la fenetre qu'aprés l'avoir déclarer...et encore il faut faire quelques petite chose pour avoir l'affichage(le device context et tout le tralal...).
                        • Partager sur Facebook
                        • Partager sur Twitter

                        mode console vers appli. windows

                        × 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