MessageBox... ça ne fonctionne pas... [Résolu]

Signaler
Messages postés
67
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
4 novembre 2008
-
Messages postés
67
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
4 novembre 2008
-
Bonjour, j'ai besoin d'aide... en C.
Voilà mon code :

//je définit ma message box :
void MYMsgBox1()
{
 MessageBox(NULL,"Êtes vous sûr de vouloir lancer le programme ?," Demande d'info",MB_ICONQUESTION | MB_YESNO);
}

//et dans MAIN, ma fonction :
MyMsgBox1();
if MYMsgBox1() = ID_NO
 {
  [[[FONCTION POUR QUITTER LE PROGRAMME]]];
 }

Quelle est la fonction pour quitter un programme ? Et pourquoi mon code ne fonctionne pas ?
MERCI de votre aide.

--HAZKAAL--

12 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Faut te plonger avant tout dans un bouquin de C tant que la syntaxe sera défaillante.

void MYMsgBox1();
Une fonction prototypée VOID ne retourne rien.

if MYMsgBox1() = ID_NO
Manquerait 'Then' ensuite et on se croirait en VB.

Corrigeons:
int MYMsgBox1()
{
 return MessageBox(NULL,"Êtes vous sûr de vouloir lancer le programme ?," Demande d'info",MB_ICONQUESTION | MB_YESNO);
}

dans le main():
if(ID_NO == MYMsgBox1()) exit(0); // PAR EXEMPLE

ciao...
BruNews, MVP VC++
Messages postés
67
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
4 novembre 2008

Salut,


D'accord, j'ai compris le principe merci c'est gentil  !
Mais j'ai un probleme sur la compilation de :
if(ID_NO == MYMsgBox1()) exit(0);

Voici le rapport de compilation :

Merci !

ciao !

--HAZKAAL--
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
#include <windows.h>

ciao...
BruNews, MVP VC++
Messages postés
67
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
4 novembre 2008

Salut,

J'ai réussi à faire tourner ce code, mais avec MB à la place de ID... Est ce une erreur dans mon compilateur ?
Par contre, la fonction exit(0) ne quitte pas entierement le programme... Elle le relance du début... Normal ? Y a t il une fonction qui ferme le programme ENTIEREMENT ???

Merci !

ciao !

--HAZKAAL--
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Excuse mais la console, c'est si loin... alors le 'exit'...

ExitProcess(0);

ciao...
BruNews, MVP VC++
Messages postés
67
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
4 novembre 2008

Désolé pour le double post...


En fait si je déclare MB_OK en haut, il faut que je mette MB_OK dans le if...


Par contre ça ne fonctionne pas si je met MB_YESNO en haut et ID_NO en bas ni si je met MB_YESNO en haut et MB_NO en bas...


Pourtant j'ai inclus la librairie windows.h !

--HAZKAAL--
Messages postés
67
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
4 novembre 2008

Je suis tellement désolé de t'embêter avec des choses de débutant mais même avec ExitProcess(0); ça ne fonctionne pas...
Préferes tu voir mon coude source en entier pour faire plus simple ???

ciao

--HAZKAAL--
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Aprends bien la syntaxe du C dans un bouquin sur de la console, le mode GUI (fenêtré) viendra ensuite.
D'ordinaire on sort de console par:
int main()
{
  return 0;
}

MessageBox() n'a rien à faire avec la console.

Petzold pour le mode GUI:
http://brunews.com/brunews/download/CP5.zip
http://brunews.com/brunews/download/CP5Sources.zip

ciao...
BruNews, MVP VC++
Messages postés
67
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
4 novembre 2008

Haaaaaaaaaaaaaaaaaaaaaan !!!
Merci pour les tutos c'est gentil

Raaa... Donc je suppose que tout mon programme tombe à l'eau...
Je te l'ai envoyé par MP pour que tu me dises les fautes mais je croix que c'est fichu là...

Merci
Ciao...
--HAZKAAL--
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Bien entendu qu'on "peut" afficher une messagebox sur une console comme on peut quasiment tout mais ça ne fait pas très homogène comme prog. Si on discute avec l'utilisateur par fenêtre alors pas de console, et vice versa.

ciao...
BruNews, MVP VC++
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
6
Bonjour,

Il me semble que c'est pas ID_YES ou ID_NO mais IDYES ou IDNO.

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
Messages postés
67
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
4 novembre 2008

Bonjour :)
Haaaaaan !!!

Merci ça fonctionne !!!
Mais maintenant j'ai un autre probleme...

Vous le verrez ici :
http://www.cppfrance.com/infomsg_TPE-2007-2008-AIDE-SVP_1071536.aspx


Merci encore !!!
@+