不要用ANSI了,用UNICODE吧。通过“_T“命令

解决方案 »

  1.   

    应该就是使用字符串的时候都是用TCHAR类型的字符串。
    常量字符串就在前面加上_T或者_TEXT的宏。
    例如SetWindowText(_T("新标题"));
      

  2.   

    我说的不一定对呀,你吧你的字符串变量通过“_T”命令转换。比如:
    CString m_Test;
         m_Test=_T("Hello, World!");
    你试一试吧,希望你能成功。`
      

  3.   

    更具体一点是在VC中建立一个MDI程序,用CRichEdit替代CView,运行程序,编辑。这种情况下,如何解决。SetWindowText(_T("新标题"));好象不行,我试过。
    我用WM_KEYDOWN消息,但是很奇怪,设置断点调试时没有乱码,但直接运行时会有乱码。????
      

  4.   

    用更高版本地rich.dll试试,以下是在网上看地一篇文章(没有测试)发信人: lewel (莽人), 信区: VisualC 标  题: Re: 再问richeditctrl的问题,如何换dll 发信站: BBS 水木清华站 (Wed Jan  2 00:45:44 2002)   两个要点: 1。在InitInstance里面去掉AfxInitRichEdit()加上 AfxLoadLibrary("riched20.dll")要判断是否加载成功 2。手动编辑资源文件,找到对话框中richedit控件的描述, 把类名改成RICHEDIT20A或者RICHEDIT20W(前者是ansi版本,后者是unicode版本) 缺省的是RICHEDIT就是1.0版了 如果不是对话框中的控件而是运行时create的那么一样换类名即可   【 在 internet (入世了,我的英语怎么办呢?) 的大作中提到: 】 : 前两天问过,有时候系统用老版本的dll:richedit32.dll,看了一下dll的资源,发现是 : 1.0版的Richeditctrl,这个东西有半个汉字的问题,所以我想让我的工程用高版本的 : 发现了riched20.dll,用vc看该dll的资源发现是3.0版,而且没有半个汉字的问题 : 用LoadLibrary(..)没有成功,后来跟踪代码,MFC自己是在AfxInitRichEdit()这个函数 : 中用的LoadLibraryA(实际就是LoadLibrary),把这个东西改成load  richedit20,也没 : 有成功 : 恳请高手出手指点如何解决这个半个汉字的问题?//bow     
      

  5.   

    tonyy(沉默中)多谢了,我试一试
      

  6.   

    tonyy(沉默中) :问题已基本解决,给分你。可我现在不会,学会后给你。