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

C++ Discussion :

création d'une fenêtre


Sujet :

C++

  1. #1
    Vestigo
    Invité(e)
    Par défaut création d'une fenêtre
    Salut, j'ai installé Visual Studio 2005 et j'ai fait un petit programme en C++ avec DEV-C++ . On m'a dit que je ne pouvais pas bloquer la fermeture de mon programme quand je l'execute ,et qu'il fallait donc que je crais ma propre fenêtre. Est ce que quelqu'un pourrait me faire une fenetre et me dire comment mettre mon programme réalisé avec DEV-C++ dans la fenêtre.
    Je ne peux pas bloquer la fermeture de la fenêtre mais je peux la bloquer pendant un certains temps et la débloquer plus tard. Ce que j'entend par "bloquer la fenêtre" c'est quand mon programme apparaît si on clique sur la croix ça ne marche pas.
    Voilà si c'est dans vos cordes merci de m'aider, en tout cas pour moi c'est super dur.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Ce qu'on a sûrement oublié de te dire, c'est que ce n'est pas du tout le même type de programme, ni même le même type de programmation.

    Une application fenêtrée, c'est de la pure programmation événementielle. On ne peut pas ainsi "mettre" un programme console dans une fenêtre".

    ...Sauf si tu te fais une application graphique qui sert de front-end à ton programme. Ainsi, tu pourrais lancer l'autre programme sans sa console en redirigeant ses flux standard vers le programme graphique, mais c'est encore plus compliqué que faire directement un programme graphique...

  3. #3
    Vestigo
    Invité(e)
    Par défaut
    il y'a la solution GUI?

  4. #4
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    pas de solution simple, il faut te lancer dans la programmation GUI. Si tu veux tu peux nous montrer ton programme pour voir si on peux trouver une solution.

  5. #5
    Vestigo
    Invité(e)
    Par défaut
    Moi se que je veux c'est juste bloquer la fermeture de la fenetre.

  6. #6
    Vestigo
    Invité(e)
    Par défaut
    D'accord je vous montre mon programme, mais je vous prévient il doit y'avoir des fautes.(je suis débutants).

    #include <iostream>
    using namespace std;
    int main()
    {
    cout << "Bonjour,tout le monde\n";


    cout << "Sa va??\n";

    system("PAUSE");
    return 0;

  7. #7
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    j'ai regardé ici.

    Les solutions GUI sont GTK, Qt et toutes les autres proposées. Il n'y a rien à ajouter à ce qu'on t'a déjà dit.

  8. #8
    Vestigo
    Invité(e)
    Par défaut
    Bon m......
    Merci à tous ceux qui ont essayé de résoudre mon problème

  9. #9
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Points : 1 051
    Points
    1 051
    Par défaut
    Le "mode console" est une façon pratique, pour un développeur, de débugger son programme mais ça s'arrête là justement parce qu'on a peu de contrôle sur la fenêtre. Ce n'est généralement pas une bonne idée de donner à l'utilisateur un programme en mode console. Ce type de programmation est un peu obsolète et il vaut mieux que tu envisage de faire de l'évènementiel avec une vraie librairie graphique.

    Comme en C++ standard, il n'y a pas d'interface graphique, on doit faire appel à des librairies autres que la librairie standard, dont on a déjà cité des exemples.

    Tu pourrais par exemple commencer avec QT.

    tutoriels : http://qt.developpez.com/doc/4.0/examples/

    Regarde le hello world et les exemples suivants pour avoir des fenêtres plus évoluées.

    bon courage

  10. #10
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    Citation Envoyé par Vestigo
    D'accord je vous montre mon programme, mais je vous prévient il doit y'avoir des fautes.(je suis débutants).

    #include <iostream>
    using namespace std;
    int main()
    {
    cout << "Bonjour,tout le monde\n";


    cout << "Sa va??\n";

    system("PAUSE");
    return 0;
    effectivement, ya des faute... j'en vois deja une : on ne dit pas Sa va, mais Ca va ! lol

    bon, plus serieusement, remplace ton system("pause") par un getch().

    et tu n'oublieras pas de préalablement faire un #include <conio.h>

  11. #11
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    tiens un tuto

    dans le code ici, on peut enlever le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If(msg.message==WM_QUITE)
    			break;
    pour ne pas fermer la fenêtre.

    Suit les tutos dans l'ordre et ca devrait être bon.

  12. #12
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    effectivement, ya des faute... j'en vois deja une : on ne dit pas Sa va, mais Ca va ! lol
    En fait on dit "Ça va ??"

    bon, plus serieusement, remplace ton system("pause") par un getch().

    et tu n'oublieras pas de préalablement faire un #include <conio.h>
    Autant éviter conio.h si ce n'est que pour faire ça. La solution portable pour faire une pause est donnée dans la FAQ.

    WM_QUITE
    En fait c'est WM_QUIT.

  13. #13
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    @coyotte:
    je pense que ce qu'il voulait dire par fenetre etait juste la fenetre DOS, et pas gérer toute une interface fenetrée...

    @laurent: je l'attendais le coup de la cédille

  14. #14
    Vestigo
    Invité(e)
    Par défaut
    Bon attendez, je comprend plus rien il est possible ou pas de bloquer la fermeturede la fenêtre D-OS??

  15. #15
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Citation Envoyé par toxcct
    @coyotte:
    je pense que ce qu'il voulait dire par fenetre etait juste la fenetre DOS, et pas gérer toute une interface fenetrée...

    @laurent: je l'attendais le coup de la cédille
    Oui, mais c'est seulement possible avec une interface fenêtrée. A ma connaissance sous windows on ne peux pas bloquer la fermeture de la console (sauf avec un while(1){} lol)

  16. #16
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    Citation Envoyé par Vestigo
    Bon attendez, je comprend plus rien il est possible ou pas de bloquer la fermeturede la fenêtre D-OS??
    oui, si tu lui fait croire que tu attends une entrée bidon au clavier par exemple, meme si tu ne la récupere pas (puisque c'est juste histoire d'interrompre l'exécution)...

  17. #17
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    @toxcct: Ce que vestigo veut c'est bloquer le clic sur la croix, pas attendre qu'on tape un caractère. même avec getch() tu bloques pas le clic sur la croix.

  18. #18
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    Citation Envoyé par coyotte507
    @toxcct: Ce que vestigo veut c'est bloquer le clic sur la croix, pas attendre qu'on tape un caractère. même avec getch() tu bloques pas le clic sur la croix.
    oki, je viens de relire la question d'origine...
    moui, effectivement, on ne peut pas bloquer avec du simple code console la "fenetre" dans laquelle le prog s'exécute...

Discussions similaires

  1. [Débutant] Création d'une fenêtre de saisie de données par l'utilisateur
    Par Alucard9800XT dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 13/04/2007, 22h38
  2. [D5] Création d'une fenêtre d'attente
    Par MelkInarian dans le forum Delphi
    Réponses: 11
    Dernier message: 20/03/2007, 15h36
  3. Création d'une fenêtre de chargement
    Par mattyeux dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 11/02/2007, 01h34
  4. création d'une fenêtre d'identification
    Par ghyosmik dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/11/2005, 15h29

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