MessageBox [Résolu]

Signaler
Messages postés
29
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 janvier 2012
-
Messages postés
29
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 janvier 2012
-
Bonjour,

J'utilise une MessageBox de la façon suivante:

if (MessageBox(hWnd, (LPCWSTR) "Voulez vous vraiment quitter?",
NULL, MB_ICONQUESTION | MB_TOPMOST | MB_YESNO)==IDYES)
{
DestroyWindow(hWnd);
PostQuitMessage(0);
}
Et surprise, le texte s'affiche...en chinois!! Il doit y avoir un micmac entre ASCII et UNICODE je suppose.

OS= SEVEN PRO 64 bits compilateur VC++ express 2010

Merci de m'éclairer, je débute en C++.

3 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Corrige donc comme ceci :
#include <tchar.h>
//...
if (MessageBox(hWnd, _T("Voulez-vous vraiment quitter ?"),
NULL, MB_ICONQUESTION | MB_TOPMOST | MB_YESNO)==IDYES)
{
DestroyWindow(hWnd);
PostQuitMessage(0);
} 


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
Normal, par (LPCWSTR) tu castes une chaine ANSI comme s'il s'agissait de UNICODE.

ciao...
BruNews, MVP VC++
Messages postés
29
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
7 janvier 2012

OK merci, ça marche!