我在程序中能得到字符的UNICODE值,想把它显示在静态控件和按钮上。前提是程序不能编译成UNICODE模式。
在这种情况下,如果不是在控件上使用,只要在程序中调用TextOut,并选择好相应的字体就可以正确显示。但是因为是要在控件上使用,因此不能用TextOut函数。我使用了SetWindowTextW,甚至在创建控件的时候使用CreateWindowExW函数,但是不能把得到的所有UNICODE值显示正确。比如:在英文操作系统,日文的内置语言,无法正确显示中文“暂”,似乎是因为系统默认选用的字库中没有这个字;同样,英文操作系统,中文的内置语言,无法正确显示韩文。
请问应该怎样才能将UNICODE值转化为控件上相应的字体,不论我的操作系统的内置语言是什么?清高手指点,多给分!!

解决方案 »

  1.   

    没有定义,希望在工程是msbc的情况下,完成上述工作。
      

  2.   

    IsCharAlpha
    The IsCharAlpha function determines whether a character is an alphabetic character. This determination is based on the semantics of the language selected by the user during setup or by using Control Panel. BOOL IsCharAlpha(
      TCHAR ch   // character to test
    );
     
      

  3.   

    在project->settings->C/C++的属性页中的Preprocessor中写入_UNICODE,然后在link属性页中Category中选择output,在Entry-Point symbol 中添加wWinMainCRTStartup,注意Preprocessor中有_DBCS双字节支持宏时,要把_DBCS删掉!
      

  4.   

    在安装vc时如果有些东西没有装,也会出问题安装VC时选定制方式,出现VC, VB 、 VF 等选项时选VC , 点右边的“change option", 选
    “VC++ MFC and Template Libraries" ,再点右边的“change option", 再选 "MS Foundation Class Libraries",你看到有关Unicode的选项钩上