我有一个在VC++ 6中构建的游戏的源代码。问题是,当我试图在消息框中显示中文消息时(一个定制的消息框将显示在游戏界面中),中文消息总是会中断。
这是一项功能:
BOOL Message_Box(char * msg, int Button, void (*pProcOK)(), void (*pProcCancel)()){
CMsgDlg dlg;
int nCnt = 100;
int nIndex = 0;
do {
nIndex = FindMsgDlg(nCnt);
if(nIndex == -1)
break;
nCnt++;
} while(true);
dlg.SetDlg(g_hMainWnd, nCnt, Button, msg, pProcOK, pProcCancel);
g_vtDlgList.push_back(nCnt);
g_vtMsgBox.push_back(dlg);
ShowDlg(dlg.GetIndex());
return FALSE;
}我呼吁:
Message_Box("你没有足够的钱进入房间。", MB_OK);当它显示在消息框上时,这就是结果:
??有足?的??入房?发布于 2012-11-12 09:04:45
您应该使用unicode APIs来显示中文字符,还应该将它们存储在unicode中。
https://stackoverflow.com/questions/13340694
复制相似问题