MessageBox... ça ne fonctionne pas...

Résolu
hazkaal Messages postés 67 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 4 novembre 2008 - 26 janv. 2008 à 12:04
hazkaal Messages postés 67 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 4 novembre 2008 - 5 févr. 2008 à 11:41
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 janv. 2008 à 12:31
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++
3
hazkaal Messages postés 67 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 4 novembre 2008
26 janv. 2008 à 15:40
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--
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 janv. 2008 à 15:51
#include <windows.h>

ciao...
BruNews, MVP VC++
3
hazkaal Messages postés 67 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 4 novembre 2008
26 janv. 2008 à 15:52
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--
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 janv. 2008 à 15:59
Excuse mais la console, c'est si loin... alors le 'exit'...

ExitProcess(0);

ciao...
BruNews, MVP VC++
3
hazkaal Messages postés 67 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 4 novembre 2008
26 janv. 2008 à 15:59
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--
3
hazkaal Messages postés 67 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 4 novembre 2008
26 janv. 2008 à 16:02
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--
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 janv. 2008 à 16:20
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++
3
hazkaal Messages postés 67 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 4 novembre 2008
26 janv. 2008 à 16:26
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--
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 janv. 2008 à 16:31
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++
3
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
27 janv. 2008 à 13:59
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
3
hazkaal Messages postés 67 Date d'inscription dimanche 4 février 2007 Statut Membre Dernière intervention 4 novembre 2008
5 févr. 2008 à 11:41
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 !!!
@+
0
Rejoignez-nous