我在日文WIN2000有一个工程,对话框上的EDIT控件要求能正确显示汉字,我
BOOL CVerDemoDlg::OnInitDialog()
{
............................
CFont font;
CDC *pdc;
//m_TXTedit是EDIT控件
pdc=m_TXTedit.GetDC();
LOGFONT stFont;
memset(&stFont,0,sizeof(LOGFONT));
stFont.lfHeight =MulDiv(14,pdc->GetDeviceCaps(LOGPIXELSY),72);
stFont.lfWidth=MulDiv(14,pdc->GetDeviceCaps(LOGPIXELSY),72);
stFont.lfClipPrecision =CLIP_LH_ANGLES;
stFont.lfCharSet =GB2312_CHARSET;
strcpy(stFont.lfFaceName ,"SimSun");
font.CreateFontIndirect(&stFont);
m_TXTedit.SetFont(&font,TRUE);
}
可是有许多字还是不能正确显示,比如在输入"应该"两个字,显示出来是"??",请教该如何才能解决!
BOOL CVerDemoDlg::OnInitDialog()
{
............................
CFont font;
CDC *pdc;
//m_TXTedit是EDIT控件
pdc=m_TXTedit.GetDC();
LOGFONT stFont;
memset(&stFont,0,sizeof(LOGFONT));
stFont.lfHeight =MulDiv(14,pdc->GetDeviceCaps(LOGPIXELSY),72);
stFont.lfWidth=MulDiv(14,pdc->GetDeviceCaps(LOGPIXELSY),72);
stFont.lfClipPrecision =CLIP_LH_ANGLES;
stFont.lfCharSet =GB2312_CHARSET;
strcpy(stFont.lfFaceName ,"SimSun");
font.CreateFontIndirect(&stFont);
m_TXTedit.SetFont(&font,TRUE);
}
可是有许多字还是不能正确显示,比如在输入"应该"两个字,显示出来是"??",请教该如何才能解决!
不然你先到控制面板里把UNICODE对应的语言设成中国语试试。
顺便问一句,怎么把工程定义为UNICODE ?
你是不是定義unicode得方式和下面不一樣
1.在Alt+f7得c/c++得Preprocessor defin***里添加",_UNICODE"
2.在Link選項得Category(選擇OutPut)得entry* symbol裡面寫wWinMainCRTStartup.
和你说的一样,就这样定义的!我是想给EDIT换个字体,比如"楷体"等等,在LOGFONT的结构里指定,系统字库肯定有的,但一换就有某些汉字无法正确表示的问题!TO romanticist
这不是繁体字符集吗??!!
能行吗?
你是無法設置他用***字體的.也就是他已經固定.
同样也是在日文下啊!!这又是怎么办到的?