|
发表于 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功能。
|
|