drawtext()可以多行显示或打印,但我发觉如果显示的字串里同时有全角汉字和半角字符时,第一行末尾和第一行后往往显示乱码,同时不显示第二行。我也知道汉字如'东','。'占两个长度,而'A','B','.'等占一个长度(可从CString::getlength()得到)所以如:我想把显示的字串的第40位以后转入第二行,而刚好40,41位为某个汉字所占,这时就会出现上述乱码情况。各路高手不只听懂否?先谢啦!

解决方案 »

  1.   

    如果你是ANSI方式
    那么你用DrawTextW方法
    在这之前用MultibyteToWideChar转换如果你是Unicode方式,应该不会出现这种问题
      

  2.   

    to 雨人:
    unicode在哪里设定?可以具体点吗?
      

  3.   

    在project->settings->C/C++的属性页中的Preprocessor中写入_UNICODE,然后在link属性页中Category中选择output,在Entry-Point symbol 中添加wWinMainCRTStartup这样一来,可能你的工程要改动很多地方了,比如字符串都要改成_T("")
      

  4.   

    to 雨人:
    我改_UNICODE,600多错误。我先试你讲的第一种再说。谢了