IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres éditeurs Discussion :

Fenetre windows


Sujet :

Autres éditeurs

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Points : 74
    Points
    74
    Par défaut [résolu]Fenetre windows
    Bonjour tlm, j'ai esseyer de faire pour la première fois une fenêtre windows et j'ai un problème à la compilation et 3 warning, et je sais pas comment résoudre le problème:

    Voici le fichier d'erreur que je reçoi pas le compilateur borland c++:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
    C:\Documents and Settings\greg\Mes documents\greg\c++\prog win\win.cpp:
    Warning W8004 C:\Documents and Settings\greg\Mes documents\greg\c++\prog win\win.cpp 20: 'PaintDC' is assigned a value that is never used in function __stdcall WndProc(HWND__ *,unsigned int,unsigned int,long)
    Warning W8057 C:\Documents and Settings\greg\Mes documents\greg\c++\prog win\win.cpp 57: Parameter 'hPrevInst' is never used in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)
    Warning W8057 C:\Documents and Settings\greg\Mes documents\greg\c++\prog win\win.cpp 57: Parameter 'lpszCmpParam' is never used in function __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)
    Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
    Error: Unresolved external '_main' referenced from C:\BORLAND\BCC55\LIB\C0X32.OBJ
    Et voici la source de ma fenetre windows: (désoler pour la grandeur du code)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    #include "windows.h"
     
    LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) 
    {
        switch(message) 
        { 
            case WM_KEYDOWN : 
                 PostQuitMessage(0);
                 break;
     
            case WM_DESTROY : 
                 PostQuitMessage(0); // ici, on intercepte le message de destruction
                 break;
     
            case WM_PAINT : // dessin de la zone client de l'application
            {
                PAINTSTRUCT PaintStruct; 
                HDC PaintDC=BeginPaint( hwnd, &PaintStruct ); 
                EndPaint( hwnd, &PaintStruct );
            }
            break;
        }
        return DefWindowProc( hwnd, message, wParam, lParam );
    }
     
    int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInst,LPSTR lpszCmpParam,int nCmdShow) 
    {
        WNDCLASS W; // structure de classe de fenêtre
        HWND hwnd;
        LPSTR Name = "Exemple d'Application";
        MSG msg;
     
        // remplissage de la structure de classe    
        memset( &W, 0, sizeof(WNDCLASS) );
        W.style = CS_HREDRAW | CS_VREDRAW;
        W.hInstance = hInst;
        W.lpszClassName = Name;
        W.hbrBackground =(HBRUSH) COLOR_WINDOW;
        W.lpfnWndProc = WndProc; // lien vers la procédure de fenêtre
        RegisterClass( &W ); // enregistrement dans Windows de la structure
     
        // Création de la fenêtre avec toutes les options nécessaires
        hwnd = CreateWindowEx( 0, Name, Name, WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX, 0, 0, 300, 300, 
    		NULL, NULL, hInst, NULL ); 
     
        // Affichage de la fenêtre
        ShowWindow( hwnd, nCmdShow ); 
        UpdateWindow( hwnd );
     
        // Boucle d'écoute des messages
        while( GetMessage( &msg, NULL, 0, 0) ) 
        { 
            TranslateMessage( &msg ); 
            DispatchMessage( &msg );
        }
        return msg.wParam; 
    }
    Merci d'avance...

  2. #2
    Membre habitué Avatar de Metal Tom
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 119
    Points : 129
    Points
    129
    Par défaut
    Le premier warning (PaintDC) c'est parce que tu déclares et initialise une variable que tu n'utilises nulle part d'autre.
    Le deuxième (hPrevInst) et le troisième (lpszCmpParam) c'est pareil : hPrevInst n'est jamais utilisé dans ta fonction alors il met un warning.

    Mais sinon avec Borland C++ tu peux faire des applications où les fenêtre sont créées automatiquement par l'environnement de programmation.
    Tom

  3. #3
    Membre régulier Avatar de Hypnos
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 87
    Points : 108
    Points
    108
    Par défaut
    salut,

    j'ai fait un copier-coller de ton code dans VC++ et je n'ai aucun warning ni aucune erreur, j'ai aussi testé avec le Borland C++ 5.02, j'ai effectivement les warning, mais aucune erreur.
    Pour ton erreur essaye en recréant ton projet.

    P.S. : rajoute cette ligne à ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    W.hCursor = LoadCursor(NULL, IDC_ARROW);
    ainsi ton curseur ne restera pas un sablier s'il reste sur l'application après son chargement, il redeviendra la flèche.
    Errare humanum est ... sed humanus naturae erratum est.

  4. #4
    Membre régulier

    Inscrit en
    Décembre 2002
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 60
    Points : 105
    Points
    105
    Par défaut
    Citation Envoyé par Hypnos
    j'ai fait un copier-coller de ton code dans VC++ et je n'ai aucun warning
    Il faut mettre le niveau de warning a 4 pour obtenir des warnings concernant les variables non utilisees. Le niveau par defaut est en general de 3...
    Si la connaissance peut créer des problemes, ce n'est pas par l'ignorance que l'on peut les résoudre.
    -- Isaac Asimov

  5. #5
    fd
    fd est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 131
    Points : 162
    Points
    162
    Par défaut
    tu ne serais pas en mode console par hasard ?

  6. #6
    Membre régulier Avatar de Hypnos
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 87
    Points : 108
    Points
    108
    Par défaut
    Elrond >> ok thx, merci pour le tip.
    Errare humanum est ... sed humanus naturae erratum est.

  7. #7
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    je pense que fd a raison

    pour compiler une appli windows, mettre option -tW :

    bcc32 -tW titi.cpp

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Points : 74
    Points
    74
    Par défaut
    Merci à toi HRS grace à ton -tW, je sais compiler sans erreurs, et pour les warning je devrait m'en sortir, merci à tous...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fenetre Windows en C++
    Par jamesleouf dans le forum Windows
    Réponses: 7
    Dernier message: 15/03/2006, 21h39
  2. Fenetre Windows / Linux
    Par Link3 dans le forum C++
    Réponses: 4
    Dernier message: 14/02/2006, 02h17
  3. [C#] Comment recharger une fenetre windows
    Par nokta dans le forum Windows Forms
    Réponses: 3
    Dernier message: 29/11/2005, 18h54
  4. Le dessin avec VC dans une fenetre windows
    Par ccensam dans le forum MFC
    Réponses: 3
    Dernier message: 03/11/2005, 23h40
  5. [VB6] Listage des fenêtres windows
    Par gg78 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 27/05/2003, 11h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo