技术宅的结界

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

QQ登录

只需一步,快速开始

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

【VB6】【全网首发】在经典控件上使用UNICODE的方案(第1季)

[复制链接]

52

主题

231

回帖

8967

积分

用户组: 管理员

UID
77
精华
16
威望
237 点
宅币
7884 个
贡献
246 次
宅之契约
0 份
在线时间
228 小时
注册时间
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和上文提到的控件就可以。但是,这套控件有个很邪门的地方:
游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

1099

主题

1600

回帖

7万

积分

用户组: 管理员

一只技术宅

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

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

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

12

主题

26

回帖

604

积分

用户组: 大·技术宅

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

0

主题

26

回帖

575

积分

用户组: 大·技术宅

UID
7437
精华
0
威望
112 点
宅币
215 个
贡献
110 次
宅之契约
0 份
在线时间
25 小时
注册时间
2021-9-11
发表于 2022-5-15 16:48:37 | 显示全部楼层
学习学习
回复

使用道具 举报

4

主题

35

回帖

657

积分

用户组: 大·技术宅

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

4

主题

35

回帖

657

积分

用户组: 大·技术宅

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

52

主题

231

回帖

8967

积分

用户组: 管理员

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


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

1

主题

127

回帖

296

积分

用户组: 中·技术宅

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

0

主题

2

回帖

17

积分

用户组: 初·技术宅

UID
8064
精华
0
威望
2 点
宅币
11 个
贡献
0 次
宅之契约
0 份
在线时间
2 小时
注册时间
2022-9-18
发表于 2022-9-18 06:21:00 | 显示全部楼层
为了看unicode难题

0

主题

12

回帖

43

积分

用户组: 初·技术宅

UID
2974
精华
0
威望
2 点
宅币
27 个
贡献
0 次
宅之契约
0 份
在线时间
7 小时
注册时间
2017-10-18
发表于 2022-10-26 14:26:31 | 显示全部楼层
学习一下
回复

使用道具 举报

0

主题

4

回帖

52

积分

用户组: 小·技术宅

UID
8012
精华
0
威望
2 点
宅币
44 个
贡献
0 次
宅之契约
0 份
在线时间
17 小时
注册时间
2022-8-9
发表于 2022-12-10 22:34:34 | 显示全部楼层
Wow!好神奇的样子!

0

主题

16

回帖

61

积分

用户组: 小·技术宅

UID
7859
精华
0
威望
2 点
宅币
41 个
贡献
0 次
宅之契约
0 份
在线时间
5 小时
注册时间
2022-5-24
发表于 2022-12-15 17:10:10 | 显示全部楼层
火钳刘留名~~~~

0

主题

20

回帖

10

积分

用户组: 初·技术宅

UID
3807
精华
0
威望
0 点
宅币
-10 个
贡献
0 次
宅之契约
0 份
在线时间
5 小时
注册时间
2018-5-5
发表于 2022-12-17 10:10:08 | 显示全部楼层
吊炸天了吧。看看莎

0

主题

2

回帖

28

积分

用户组: 初·技术宅

UID
7751
精华
0
威望
2 点
宅币
22 个
贡献
0 次
宅之契约
0 份
在线时间
1 小时
注册时间
2022-3-25
发表于 2023-1-12 11:58:05 | 显示全部楼层
学习学习
回复

使用道具 举报

0

主题

2

回帖

38

积分

用户组: 初·技术宅

UID
5513
精华
0
威望
6 点
宅币
24 个
贡献
0 次
宅之契约
0 份
在线时间
5 小时
注册时间
2020-1-4
发表于 2023-1-16 14:48:08 | 显示全部楼层
让我康康
回复

使用道具 举报

本版积分规则

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

GMT+8, 2023-1-30 19:29 , Processed in 0.038449 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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