我在日文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);
}
可是有许多字还是不能正确显示,比如在输入"应该"两个字,显示出来是"??",请教该如何才能解决!

解决方案 »

  1.   

    把你的工程定義成unicode工程.//只能在2000下用
      

  2.   

    应该跟系统的设置有关吧!!!!!!!我在e文windows xp下什么软件都没问题呀!!!!!我的工程没定义成unicode也没问题呀!!!!!!!
      

  3.   

    把工程定义为UNICODE后是可一正常显示汉字,可问题EDIT控件的字体我还是无法去设定,一去设置,乱码就又会出现!?怎么解决啊??
      

  4.   

    恐怕没法子了。
    不然你先到控制面板里把UNICODE对应的语言设成中国语试试。
    顺便问一句,怎么把工程定义为UNICODE ?
      

  5.   

    EDIT也可以輸入中文啊.
    你是不是定義unicode得方式和下面不一樣
    1.在Alt+f7得c/c++得Preprocessor defin***里添加",_UNICODE"
    2.在Link選項得Category(選擇OutPut)得entry* symbol裡面寫wWinMainCRTStartup.
      

  6.   

    stFont.lfCharSet =CHINESEBIG5_CHARSET;用这就OK啦
      

  7.   

    to YP2002cn
    和你说的一样,就这样定义的!我是想给EDIT换个字体,比如"楷体"等等,在LOGFONT的结构里指定,系统字库肯定有的,但一换就有某些汉字无法正确表示的问题!TO romanticist
    这不是繁体字符集吗??!!
    能行吗?
      

  8.   

    你定義了unicode.那麼他固定的掉用unicode字符集.
    你是無法設置他用***字體的.也就是他已經固定.
      

  9.   

    真的没办法吗??可是我用OUTLOOK写邮件的时候,什么字体都可以使用!!
    同样也是在日文下啊!!这又是怎么办到的?