Partage
  • Partager sur Facebook
  • Partager sur Twitter

Oû écrire dans un projet "Windows application"

    29 décembre 2005 à 16:24:04

    Salut à Tous !

    j'aimerais savoir ou il faut écrire dans un projet "windows Application". Vous savez le truc quand on crer un projet, juste à coter de la console !

    Donc sa :
    #include <windows.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)

    {
        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 */
               "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;
    }


    Donc j'aimerais savoir ou il faut mettre les commande printf ou autre pour que sa l'affiche sur l'ecran.
    • Partager sur Facebook
    • Partager sur Twitter
      29 décembre 2005 à 16:29:04

      Donc en fait tout est "du dessin" pas possible d'utiliser du printf ou autre ?
      • Partager sur Facebook
      • Partager sur Twitter
        29 décembre 2005 à 16:30:55

        Je pense que là où on est dans les cours de M@teo... on a pas encore le niveau :p
        Un peu de patience :D
        • Partager sur Facebook
        • Partager sur Twitter
          29 décembre 2005 à 16:32:17

          si tu utilises printf & co çà écrira dans la console et non pas sur la fenètre.
          • Partager sur Facebook
          • Partager sur Twitter
            29 décembre 2005 à 16:41:38

            Citation : BoudBoulMan

            Je pense que là où on est dans les cours de M@teo... on a pas encore le niveau :p
            Un peu de patience :D



            Et ? Si j'ai envie d'avancer tous seul ? Qui te dis que j'ai pas acheté des bouquin trouver d'autre site ? Tu sais ya pas que le site du zér0 dans la vie !
            • Partager sur Facebook
            • Partager sur Twitter
              29 décembre 2005 à 16:56:13

              Ecrire du texte dans une fenêtre windows, c'est bonjour la galère :p .

              Pour commencer dans ton switch tu rajoutes au début :
              case WM_PAINT:

              Ensuite tu peux utiliser 2 fonctions pour écire dans la fenêtre :
              TextOut( int x, int y, LPCTSTR lpszString, int nCount );

              et
              DrawText(HDC hDC,LPCTSTR lpString,int nCount,LPRECT lpRect,UINT uFormat);


              Concretement ça donnerait :
              HDC hDC;
                      PAINTSTRUCT PaintSt;
                      RECT aRect = {0, 0, 200, 100};

              switch(message)
              {
                case WM_PAINT:
                 hDC = BeginPaint(hWnd, &PaintSt);
                 GetClientRect(hWnd, &aRect);
                 SetBkMode(hDC, TRANSPARENT);

                 DrawText(hDC, "ce que tu veux écire", -1, &aRect, DT_SINGLELINE);

                 EndPaint(hWnd, &PaintSt);
                 return 0;
              etc..
              • Partager sur Facebook
              • Partager sur Twitter
                29 décembre 2005 à 17:09:25

                Citation : W!nn!3

                Citation : BoudBoulMan

                Je pense que là où on est dans les cours de M@teo... on a pas encore le niveau :p
                Un peu de patience :D



                Et ? Si j'ai envie d'avancer tous seul ? Qui te dis que j'ai pas acheté des bouquin trouver d'autre site ? Tu sais ya pas que le site du zér0 dans la vie !


                De 1) faut pas le prendre si mal ^^
                et de 2) si tu avais lu un bouquin ou été sur un autre site... t'aurais trouvé que c'était infaisable avec printf :-°
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  29 décembre 2005 à 17:12:12

                  C'est clair, on va pas tout t'apprendre. Soit t'attends et t'auras ici tout le soutien que tu veux, soit tu avances seul au risque de faire n'importe quoi (et c'est bien parti pour) et la seule aide qu'on pourra t'apporter ici c'est sur un code déjà existant. On va pas écrire pour toi.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 décembre 2005 à 17:43:53

                    Citation : Bigloo

                    C'est clair, on va pas tout t'apprendre. Soit t'attends et t'auras ici tout le soutien que tu veux, soit tu avances seul au risque de faire n'importe quoi (et c'est bien parti pour) et la seule aide qu'on pourra t'apporter ici c'est sur un code déjà existant.



                    Tu penses que le forum C/C++ etais vide AVANT les cours de M@teo sur ce sujet ? non ! Donc cela signifie que certain ont connu le C/C++ bien avant les cours de M@teo21 !
                    Et puis je ne compte pas sur ton aide, si tu ne peux pas m'aider ne post pas pour ne rien dire ou dire des conneries bêtises... Tu n'es pas seul, regarde un peu WhiteTiGer, lui il m'aide même si le cours n'est pas au même niveau...

                    Citation

                    On va pas écrire pour toi.


                    J'ai demander qu'on m'ecrive tout peut être ? J'ai juste demandé un peu d'aide...

                    ++ W!nn!3

                    Ps : Merci à Tous sauf au rabat joie...
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      29 décembre 2005 à 18:06:50

                      Non mais là faut faire la différence entre t'aider et t'apprendre quelque chose.

                      Si tu as appris comment afficher du texte avec Win32 tu devrais savoir où mettre les commandes (mais ce n'est de toute évidence pas le cas puisque tu veux utiliser un printf).

                      Si tu n'as pas appris, on ne peut que te donner des liens, on ne va pas t'aider puisque tu ne sais pas ce qu'il faut faire et coment, donc tu vas apprendre, ou attendre des tutos, car sur le forum on donne des aides, pas des cours sur demande.

                      Enfin, puisque tu demandes où mettre tes commandes : un printf tu peux le mettre n'importe où dedans, et si tu utilises les fonctions Win32 tu les mets dans une fonction que tu crées, paint(); et tu l'appelles au bon moment dans le switch.

                      Voilà.
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        30 décembre 2005 à 10:25:27

                        Citation : W!nn!3

                        Citation : Bigloo

                        C'est clair, on va pas tout t'apprendre. Soit t'attends et t'auras ici tout le soutien que tu veux, soit tu avances seul au risque de faire n'importe quoi (et c'est bien parti pour) et la seule aide qu'on pourra t'apporter ici c'est sur un code déjà existant.



                        Tu penses que le forum C/C++ etais vide AVANT les cours de M@teo sur ce sujet ? non ! Donc cela signifie que certain ont connu le C/C++ bien avant les cours de M@teo21 !
                        Et puis je ne compte pas sur ton aide, si tu ne peux pas m'aider ne post pas pour ne rien dire ou dire des conneries bêtises... Tu n'es pas seul, regarde un peu WhiteTiGer, lui il m'aide même si le cours n'est pas au même niveau...



                        Je sais très bien que le forum C/C++ existait avant, déjà. Quand je suis venu ici avant la v3, y'avait pas mal de topics de gens qui croyaient programmer en C et qui faisaient en fait n'importe quoi :) tu veux être l'un d'eux ?

                        Alors continue comme ça. C'est pas en glânant une info par ci, une par là, de gens qui ont le courage de te donner deux trois détails mais pas celui (et je les comprends) de TOUT reprendre, que tu vas finir par savoir ce que tu fais.

                        Le pire, c'est que je parle en connaissance de cause. Le C mal appris c'est une catastrophe. Y'a des langages comme le Python qui sont assez amicaux pour permettre à quelqu'un qui a pas tout compris de faire des trucs quand même, mais c'est pas le cas du C. Donc il faudra vraiment que tu saches tout.

                        Or, actuellement, tu sais ce que c'est un pointeur ? Pas la théorie, je veux dire, est-ce que tu sais bien les manipuler ? Pourtant c'est fondamental. Alors calme toi, si tu es impatient, modère toi ou va voir un site complet, mais surtout n'influence pas les autres pour qu'ils te suivent dans ton erreur en essayant de comprendre du code dont l'essentiel est pas à leur niveau.

                        Tu peux même pas saisir à quel point tu te goures. Un type qui parle de printf pour des projets graphiques, comment tu veux qu'on ait bonne conscience en l'aidant ? Quant à WhiteTiGer, il te donne du code, point, c'est gentil à lui mais ça ne t'aide pas à comprendre. Pire, tu vas continuer à manipuler des trucs qui te dépassent.

                        Bonne chance quand même.
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Oû écrire dans un projet "Windows application"

                        × 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