MessageBox

Résolu
jlg75 Messages postés 28 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 7 janvier 2012 - 23 déc. 2010 à 00:19
jlg75 Messages postés 28 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 7 janvier 2012 - 23 déc. 2010 à 10:12
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

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
23 déc. 2010 à 10:00
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
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 déc. 2010 à 09:06
Normal, par (LPCWSTR) tu castes une chaine ANSI comme s'il s'agissait de UNICODE.

ciao...
BruNews, MVP VC++
0
jlg75 Messages postés 28 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 7 janvier 2012
23 déc. 2010 à 10:12
OK merci, ça marche!
0
Rejoignez-nous