Probleme avec MessageBox

cs_spirit Messages postés 27 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 7 janvier 2003 - 3 mai 2002 à 17:06
cs_spirit Messages postés 27 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 7 janvier 2003 - 5 mai 2002 à 12:30
salut à tous,
dans une fonction j'ai fait:

if(MessageBox(hWnd, "texte à afficher", "titre de la fenetre", MBOKCANCEL) == IBOK)
{
le truc à faire
}
fin de la fontion

le probleme est que lorsque que je clique sur OK, ca fait ce que ca doit faire mais la fenetre reaparer sans cesse, idem lorsque je clique sur CANCEL

merci d'avance

PS: y'a peut etre une erreur de synthaxe pour MBOKCANCEL (désolé) ;)

PS2: je cherche un programme pour créer mes propres polices de caractères

2 réponses

NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
5 mai 2002 à 07:10
Tout ceci ce trouve dans -->> Winuser.h

/*
* Dialog Box Command IDs
*/
#define IDOK 1
#define IDCANCEL 2
#define IDABORT 3
#define IDRETRY 4
#define IDIGNORE 5
#define IDYES 6
#define IDNO 7
#if(WINVER >= 0x0400)
#define IDCLOSE 8
#define IDHELP 9
#endif /* WINVER >= 0x0400 */

/*****************************************/

/*
* MessageBox() Flags
*/
#define MB_OK 0x00000000L
#define MB_OKCANCEL 0x00000001L
#define MB_ABORTRETRYIGNORE 0x00000002L
#define MB_YESNOCANCEL 0x00000003L
#define MB_YESNO 0x00000004L
#define MB_RETRYCANCEL 0x00000005L

#define MB_ICONHAND 0x00000010L
#define MB_ICONQUESTION 0x00000020L
#define MB_ICONEXCLAMATION 0x00000030L
#define MB_ICONASTERISK 0x00000040L

#if(WINVER >= 0x0400)
#define MB_USERICON 0x00000080L
#define MB_ICONWARNING MB_ICONEXCLAMATION
#define MB_ICONERROR MB_ICONHAND
#endif /* WINVER >= 0x0400 */

#define MB_ICONINFORMATION MB_ICONASTERISK
#define MB_ICONSTOP MB_ICONHAND

#define MB_DEFBUTTON1 0x00000000L
#define MB_DEFBUTTON2 0x00000100L
#define MB_DEFBUTTON3 0x00000200L
#if(WINVER >= 0x0400)
#define MB_DEFBUTTON4 0x00000300L
#endif /* WINVER >= 0x0400 */

#define MB_APPLMODAL 0x00000000L
#define MB_SYSTEMMODAL 0x00001000L
#define MB_TASKMODAL 0x00002000L
#if(WINVER >= 0x0400)
#define MB_HELP 0x00004000L // Help Button
#endif /* WINVER >= 0x0400 */

#define MB_NOFOCUS 0x00008000L
#define MB_SETFOREGROUND 0x00010000L
#define MB_DEFAULT_DESKTOP_ONLY 0x00020000L

#if(WINVER >= 0x0400)
#define MB_TOPMOST 0x00040000L
#define MB_RIGHT 0x00080000L
#define MB_RTLREADING 0x00100000L

#endif /* WINVER >= 0x0400 */

#ifdef _WIN32_WINNT
#if (_WIN32_WINNT >= 0x0400)
#define MB_SERVICE_NOTIFICATION 0x00200000L
#else
#define MB_SERVICE_NOTIFICATION 0x00040000L
#endif
#define MB_SERVICE_NOTIFICATION_NT3X 0x00040000L
#endif

#define MB_TYPEMASK 0x0000000FL
#define MB_ICONMASK 0x000000F0L
#define MB_DEFMASK 0x00000F00L
#define MB_MODEMASK 0x00003000L
#define MB_MISCMASK 0x0000C000L

Alors, d'après toi, tu utilisais les bonne define? =P
Et en passant ton compilateur il compilait comment??? Tu n'avais aucune erreur ou warning??? Laisse moi deviner ... tu utilise Dev-C++! C'est ca???

NitRic28@Hotmail.com
0
cs_spirit Messages postés 27 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 7 janvier 2003
5 mai 2002 à 12:30
winuser.h était déjà inclu ;)

j'utilise Visual C++ 6 et il n'y a aucun warning ou erreur lors de la compilation

quand j'execute mon programme, le boite de message apparait, lorsque je clique sur OK, l'action associée est réalisée mais le message réapparaît bien qu'il n'y ai aucune boucle (for, while...)
lorque je clique sur annuler c'est pareil

en gros ca fonctionne correctement, le seul probleme c'est que le message réapparait tout le temps :)
0
Rejoignez-nous