VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1800|回复: 11

text文本框,如何显示unicode字符集

[复制链接]

4

主题

15

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-2-1 16:20:01 | 显示全部楼层 |阅读模式
界面上有个输入框
输入一些字符,有GBK的,也有 unicode的,unicode字符也能正确显示,但, 用造字程序(eudcedit.exe)在unicode码位上,如f8f1这个码位进行造字,保存好后,在Word里能正确输入并显示,在文本框里则显示问号,怎样才能让文本框支持unicode字符集

请哪位高手说一下
谢谢
回复

使用道具 举报

0

主题

46

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-3-16 13:00:02 | 显示全部楼层
VB自带的TextBox不可能。
  

回复

使用道具 举报

0

主题

6

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-4-28 20:30:01 | 显示全部楼层
Owner-drawn Textbox using CreateWindowExW can show Unicode on NT/XP.VB default Textbox can't do the job.You can use RichEdit to show unicode.
回复

使用道具 举报

4

主题

15

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-6-6 14:00:02 | 显示全部楼层
RichEdit 控件
是可以输入到里面,但他是手动输入的
,如果是用程序读的时候,字符串就变成问号了,请问该如何解决?

回复

使用道具 举报

0

主题

6

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-8-17 22:45:01 | 显示全部楼层
1.最新研究:
   VB自带的TextBox完全能显示Unicode。Label控件也可以。但不能同时显示混二种不同代码页的Unicode,例如:阿拉伯文和中文。英文除外,也就是说能显示中文和英文混合的Unicode。也能显示阿拉伯文和英文混合的Unicode。你所需要做的不仅是将Unicode字符串转换成MBCS,而且要设置TextBox的.Font.CharSet和字体。例如:中文和英文混合的Unicode String:
        Text1.Font.Name = "Tohoma"
        Text1.Font.charset = 134 '--->GB2312 CharSet is 134
        Text1.Text=MBCS_Encode(strUnicode,936) ' 936 is GB2312的代码页
MBCS_Encode用到WideCharToMultiByte(936, lFlags, StrPtr(strUnicode), _
      TLen, b(0), lngBufferSize, vbNullString, 0)

2.为了彻底地解决Unicode显示,编辑问题,你可以用CreateWindowsW去自绘TextBox,即扩展TextBox功能。
回复

使用道具 举报

0

主题

6

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-8-17 23:30:02 | 显示全部楼层
接上关于VB自带的TextBox,Label完全能显示Unicode:
  在英文Windows 98和英文XP上测试通过。这样你的程序就可以走出国门,不怕乱码了。
回复

使用道具 举报

4

主题

15

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-8-18 00:30:01 | 显示全部楼层
f8e1这个unicode码位所造的字,能正确显示吗?
回复

使用道具 举报

4

主题

15

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-8-18 08:45:02 | 显示全部楼层
有谁成功吗?
回复

使用道具 举报

0

主题

6

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-8-18 09:00:01 | 显示全部楼层
看了你的帖很多天,还没解决,我就试了一下。可以呀,在 Textbox和RichEdit中都可以看到。问题有可能是你没正确用eudcedit.exe,先选中F8E1--〉然后画--〉Save Character--->Font Links to link with all Font.测试环境:XP (English)/SP2,VB6 (En) SP6.
回复

使用道具 举报

0

主题

6

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-8-18 09:15:01 | 显示全部楼层
因为你造的字在自己的电脑里,所以只能本机显示。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表