技术宅的结界

 找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 104|回复: 7
收起左侧

【VB6】【全网首发】在控件上使用UNICODE字符的解决方案

[复制链接]

46

主题

242

帖子

8315

积分

用户组: 管理员

UID
77
精华
15
威望
174 点
宅币
7463 个
贡献
187 次
宅之契约
0 份
在线时间
186 小时
注册时间
2014-2-22
发表于 2022-5-13 22:01:48 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有帐号?立即注册→加入我们

x
基础说明:使用UNICODE有什么意义?
很多人觉得,用ANSI字符即可显示中文,用UNICODE字符有啥意义呢?使用UNICODE字符的意义在于,可以在一个字符串里同时显示多种语言。比如在中文系统里,ANSI字符串显示中文和英文没问题,但如果显示德语法语,那就会出现一片问号。所以,如果你的程序要正确显示3种(或以上)的语言,而且无论在什么系统下都不乱码,就必须使用UNICODE字符。

主要难题:如何在控件上使用UNICODE字符串?
首先,存储UNICODE字符串是没问题的,因为VB字符串是BSTR,本质上就是UNICODE字符串。
其次,调用UNICODE版本的API(就是末尾带W的API,比如MessageBoxW)也是没问题的,用StrPtr就可以拿到VB字符串的UNICODE字符数组的地址。
真正的难题在于,如何让控件正确显示UNICODE字符串。无论是直接赋值,还是通过SendMessage设置内容,你最终只能看到一串问号。

解决方案:
游客,如果您要查看本帖隐藏内容请回复
代码演示:
游客,如果您要查看本帖隐藏内容请回复
程序效果:
.png
从此图可以看出,VB窗体不能正确显示UNICODE字符串,但MessageBoxW和上文提到的控件就可以。但是,这套控件有个很邪门的地方:
游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

1093

主题

2645

帖子

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
238
威望
506 点
宅币
21997 个
贡献
45977 次
宅之契约
0 份
在线时间
2110 小时
注册时间
2014-1-26
发表于 2022-5-13 22:39:15 | 显示全部楼层
谷歌搜了一下「сладкий」大概是甜的意思吧。

你这个方法真是超出我的意料,我甚至不知道这个方法。

这套路和 VB6 常见的“XP特效美化法”很像。屌啊

11

主题

31

帖子

478

积分

用户组: 中·技术宅

UID
5148
精华
3
威望
7 点
宅币
388 个
贡献
30 次
宅之契约
0 份
在线时间
32 小时
注册时间
2019-7-17
发表于 6 天前 | 显示全部楼层
一开始就是这个 ANSI 的“特性”逼我走上 .NET 的道路的(
qaq

0

主题

9

帖子

55

积分

用户组: 小·技术宅

UID
7437
精华
0
威望
2 点
宅币
42 个
贡献
0 次
宅之契约
0 份
在线时间
7 小时
注册时间
2021-9-11
发表于 6 天前 | 显示全部楼层
学习学习
回复

使用道具 举报

4

主题

37

帖子

581

积分

用户组: 大·技术宅

UID
7138
精华
0
威望
17 点
宅币
495 个
贡献
15 次
宅之契约
0 份
在线时间
55 小时
注册时间
2021-5-11
发表于 3 天前 | 显示全部楼层
这连论坛坛主都不知道的办法,值得观摩观摩

4

主题

37

帖子

581

积分

用户组: 大·技术宅

UID
7138
精华
0
威望
17 点
宅币
495 个
贡献
15 次
宅之契约
0 份
在线时间
55 小时
注册时间
2021-5-11
发表于 前天 12:36 | 显示全部楼层
没有找到Office97的包怎么办?

46

主题

242

帖子

8315

积分

用户组: 管理员

UID
77
精华
15
威望
174 点
宅币
7463 个
贡献
187 次
宅之契约
0 份
在线时间
186 小时
注册时间
2014-2-22
 楼主| 发表于 前天 14:53 | 显示全部楼层
WeaponJang 发表于 2022-5-19 12:36
没有找到Office97的包怎么办?


这个网站有很多老东西:
https://winworldpc.com/download/ ... 9-8581-fa163e9022f0

1

主题

110

帖子

114

积分

用户组: 小·技术宅

UID
7535
精华
0
威望
0 点
宅币
4 个
贡献
0 次
宅之契约
0 份
在线时间
8 小时
注册时间
2021-10-16
发表于 前天 14:55 | 显示全部楼层
此贴必火,占位刘留名~~~~

本版积分规则

QQ|申请友链||Archiver|手机版|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2022-5-21 17:26 , Processed in 0.044470 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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