drawtext()的使用问题

whbjtam 2003-07-12 11:35:14
drawtext()可以多行显示或打印,但我发觉如果显示的字串里同时有全角汉字和半角字符时,第一行末尾和第一行后往往显示乱码,同时不显示第二行。我也知道汉字如'东','。'占两个长度,而'A','B','.'等占一个长度(可从CString::getlength()得到)

所以如:我想把显示的字串的第40位以后转入第二行,而刚好40,41位为某个汉字所占,这时就会出现上述乱码情况。

各路高手不只听懂否?先谢啦!
...全文
41 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
whbjtam 2003-07-13
  • 打赏
  • 举报
回复
to 雨人:
我改_UNICODE,600多错误。我先试你讲的第一种再说。谢了
fckadxz 2003-07-13
  • 打赏
  • 举报
回复
up
xtuzi 2003-07-12
  • 打赏
  • 举报
回复
在project->settings->C/C++的属性页中的Preprocessor中写入_UNICODE,然后在link属性页中Category中选择output,在Entry-Point symbol 中添加wWinMainCRTStartup

这样一来,可能你的工程要改动很多地方了,比如字符串都要改成_T("")
whbjtam 2003-07-12
  • 打赏
  • 举报
回复
to 雨人:
unicode在哪里设定?可以具体点吗?
xtuzi 2003-07-12
  • 打赏
  • 举报
回复
如果你是ANSI方式
那么你用DrawTextW方法
在这之前用MultibyteToWideChar转换

如果你是Unicode方式,应该不会出现这种问题

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧