游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2319|回复: 1

WM_CHAR消息详解(支持中文问题)

[复制链接]

45

主题

157

帖子

169

积分

注册会员

Rank: 2

积分
169
QQ
发表于 2009-12-4 23:15:00 | 显示全部楼层 |阅读模式
    WM_CHAR中如何输入中文,这个问题困惑了我很久,网上也有人不断提问,也没谁给出有效的回答,最后经过我不断探索研究终于搞清楚,现总结出来供大家共享,希望大家少走弯路,有不对的还请指正,不盛感激!
    首先是UNICODE宏下,很简单wParam参数就是字符的UNICODE码,UNICODE编码中ASCII部分保持不变。
    其次就是复杂的多字节编码下(也就是没有定义UNICODE宏的情况下,不要跟我说你不知道)很多问的都是这种情况,我们把wParam参数换为字符型:
    unsigned char c=(unsigned char)wParam;
    这时如果c小于127为ASCII码,并且WM_CHAR只响应一次;
    大于127为汉字内码第一码,紧跟下一个WM_CHAR响应为第二码(也大于127),也就是说如果输入中文的话,会有两个WM_CHAR消息,并且这两个WM_CHAR消息才组成了一个汉字的完整编码。

14

主题

156

帖子

158

积分

注册会员

Rank: 2

积分
158
QQ
发表于 2009-12-7 13:31:00 | 显示全部楼层

Re: WM_CHAR消息详解(支持中文问题)

bluebaby9811: WM_CHAR消息详解(支持中文问题)

    WM_CHAR中如何输入中文,这个问题困惑了我很久,网上也有人不断提问,也没谁给出有效的回答,最后经过我...


不错哦,知其然,亦知其所以然

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

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-17 17:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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