求大虾帮忙,WINCE显示线程输出乱码问题,EVC文本框中文显示正常
线程,WINCE文本框出现乱码,输出的结果也显示不正常。
如图,下面是EVC中显示的文本框,正常显示中文
下面的是WINCE虚拟机上显示的文本框乱码,
而且显示的结果也是不正常,
代码是敲进去的,如下:[code=C/C++][DWORD CThreadAsynDlg::ThreadProc(PVOID pArg)
{
CThreadAsynDlg *pDlg;
CListBox *pLstBox;
pLstBox=(CListBox*)pArg;
pDlg=(CThreadAsynDlg*)AfxGetMainWnd();
TCHAR buffer[100];
for (int i=0;i<MAXDATASIZE;i++)
{
pDlg->m_incNum++;
pDlg->m_aGlobalData[i]=pDlg->m_incNum;
Sleep(5);
}
for (i=0;i<MAXDATASIZE;i++)
{
_itow(pDlg->m_aGlobalData[i],buffer,10);
pLstBox->AddString(buffer);
}
return 1;
}
void CThreadAsynDlg::OnBtnexec()
{
// TODO: Add your control notification handler code here
HANDLE handle_1,handle_2;
DWORD dwThreadId1,dwThreadId2;
CListBox *pListOne;
CListBox *pListTwo;
pListOne=(CListBox*)GetDlgItem(IDC_LIST2);
pListTwo=(CListBox*)GetDlgItem(IDC_LIST3);
handle_1=CreateThread(NULL,0,ThreadProc,pListOne,0,&dwThreadId1);
handle_2=CreateThread(NULL,0,ThreadProc,pListTwo,0,&dwThreadId2);
if (!handle_1)
{
AfxMessageBox(_T("线程1创建失败!"));
}
if (!handle_2)
{
AfxMessageBox(_T("线程2创建失败!"));
}
CloseHandle(handle_1);
CloseHandle(handle_2);
}
]
出现乱码,可能是因为WINCE不支持中文,但是输出的结果也是乱成一团,虽然是不正常,但还是看到线程输出结果还是一样,纠结到底怎么解决,求大虾们帮帮忙。。谢谢!!
[解决办法]
你的 CE OS 是中文的吗?
如果 OS 不支持中文,可以考虑使用 AddFontResource() 来使应用支持中文的。