如何在不修改整个工程为unicode的情况下,让CEdit显示unicode串?提问加散分

na_he 2010-08-28 04:58:52
现在英文的OS下面,Edit控件不能显示unicode字符,比如中文,大家有没有什么办法在不修改整个project支持unicode的情况下让Cedit控件可显示中文,即可,呵呵!


PS:我试了几种:比如:1。设置unicode字体,因为vista,win7下面有宋体。

2。使用setwindowTextW都不能成功。


给200分,呵呵。包括谢谢CSDN上的朋友,感谢大家伴随我一起成长,呵呵!
...全文
219 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
pshchao 2010-09-23
  • 打赏
  • 举报
回复
做个机号,编码不是很理解
sunlin7 2010-09-22
  • 打赏
  • 举报
回复
没有测试环境~~
用户 昵称 2010-09-22
  • 打赏
  • 举报
回复
drawtextW不能显示?理论上可以啊
na2650945 2010-09-22
  • 打赏
  • 举报
回复
用资源呢。
simoreg 2010-09-21
  • 打赏
  • 举报
回复
楼主的问题确实让人抓狂
你的那个英文环境大家也很少用啊,
我猜想是API的缘故,你试过MessageBox吗?能否正常显示中文?
自绘是必须的,多试验一些API ,DrawText 或者 TextOut,只可惜我只知道这两字写字函数
Yofoo 2010-08-28
  • 打赏
  • 举报
回复
窗体是 ANSI, 显示不了非本地区域的字符, 这个是关键
用代码 CreateWindowExW 去创建, 不要用资源, 参考 IsWindowUnicode
Eleven 2010-08-28
  • 打赏
  • 举报
回复
直接把中文硬编码呢DrawText呢?
na_he 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 jennyvenus 的回复:]
写一个edit,自己drawtext
[/Quote]
我们的edit都是自己绘制的,尝试了,呵呵。不行
用户 昵称 2010-08-28
  • 打赏
  • 举报
回复
写一个edit,自己drawtext
happy_h 2010-08-28
  • 打赏
  • 举报
回复
我是个新手,不过我觉得是不是跟它的应用环境(背景)有关系呢,可以尝试给它包装一个应用环境,然后把该环境下的编码格式设置为Unicode
na_he 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 oyljerry 的回复:]
引用 10 楼 na_he 的回复:

因为我需要的是edit框的效果了,呵呵,不是简单的show出来了。我在国外的一些网站上那个看似乎可以,但试验不成功,呵呵。

http://www.codeguru.com/forum/archive/index.php/t-305585.html

http://visual-c.itags.org/visual-c-c++/159561/
……
[/Quote]
已经改了,都是动态创建并且拿到系统的字体设置进去。
oyljerry 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 na_he 的回复:]

因为我需要的是edit框的效果了,呵呵,不是简单的show出来了。我在国外的一些网站上那个看似乎可以,但试验不成功,呵呵。

http://www.codeguru.com/forum/archive/index.php/t-305585.html

http://visual-c.itags.org/visual-c-c++/159561/

FYI。。。。或许我的理解有问题了,呵……
[/Quote]
那你Edit控件资源中修改一下对应的字体,同时输入的字符串也用对应的字符串
na_he 2010-08-28
  • 打赏
  • 举报
回复
因为我需要的是edit框的效果了,呵呵,不是简单的show出来了。我在国外的一些网站上那个看似乎可以,但试验不成功,呵呵。

http://www.codeguru.com/forum/archive/index.php/t-305585.html

http://visual-c.itags.org/visual-c-c++/159561/

FYI。。。。或许我的理解有问题了,呵呵。
na_he 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 oyljerry 的回复:]
引用 6 楼 na_he 的回复:

引用 3 楼 akirya 的回复:
只要安装相应的语言支持就可以了吧.


就是在不安装语言包的情况下,解决这个问题,呵呵

不安装语言包,字符怎么对应的上,显示正确...
[/Quote]

vista win7下面有宋体的,在view上textout中文字体是可以出来的。
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 na_he 的回复:]

引用 3 楼 akirya 的回复:
只要安装相应的语言支持就可以了吧.


就是在不安装语言包的情况下,解决这个问题,呵呵
[/Quote]
自己读取字库,然后绘制...比较麻烦
oyljerry 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 na_he 的回复:]

引用 3 楼 akirya 的回复:
只要安装相应的语言支持就可以了吧.


就是在不安装语言包的情况下,解决这个问题,呵呵
[/Quote]
不安装语言包,字符怎么对应的上,显示正确...
na_he 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 akirya 的回复:]
只要安装相应的语言支持就可以了吧.
[/Quote]

就是在不安装语言包的情况下,解决这个问题,呵呵
mumu821 2010-08-28
  • 打赏
  • 举报
回复
看过,不错。
na_he 2010-08-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiaogui32 的回复:]
使用SetWindowText然后他会根据环境自动判断为SetWindowTextA和SetWindowTextW这样就能修改环境编译出Unicode的和ANSI的
[/Quote]

我的前提是整个工程不支持unicode 的情况下哦。呵呵
  • 打赏
  • 举报
回复
只要安装相应的语言支持就可以了吧.
加载更多回复(2)

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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