游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5919|回复: 17

如何得到中文输入法输入时的字符?

[复制链接]

9

主题

378

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
发表于 2004-10-25 10:33:00 | 显示全部楼层 |阅读模式
我可以得到中文输入法输入时的词组信息,和输入的文字.
可怎么得到在输入时打出的字符啊?

比如:
使用全拼打出"来"
要输入的字符为"l","a","i"
如何得到这三个字符?
在中文输入法打开始好像只有WM_IME_COMPOSITION能得到消息.
IME的大批函数我还没找到取这个字符的.
还在看中.
希望大家帮帮忙, [em7]

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20686
发表于 2004-10-25 11:41:00 | 显示全部楼层

Re:如何得到中文输入法输入时的字符?

WM_IME_CHAR消息

9

主题

378

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
 楼主| 发表于 2004-10-25 15:57:00 | 显示全部楼层

Re:如何得到中文输入法输入时的字符?

我说的不是输入后的内容,
而是输入时的字符.
WM_IME_CHAR只能得到输入后的字符串
而输入时这个消息不能接受到消息.
我想应该是WM_IME_COMPOSITION接受这个消息
要输入文字"来",   输入时输入的字符为"   l,  a   ,i   "这三个.
如何得到这三个字符呢?

我想IME里应该有这样的函数,但就时没找到.
很多术语看不懂
我觉得好像是ImmGetVirtualKey()这个函数

但用时,它只返回一个相同的值 229
不知道这个函数具体什么意思.

9

主题

378

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
 楼主| 发表于 2004-10-26 10:14:00 | 显示全部楼层

Re:如何得到中文输入法输入时的字符?

顶一下子
怎么没人回复啊?
就没人肯奉献一下吗
我做完后一定全盘托出,为大家做点贡献
就差那一点了.
帮帮忙吧

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2004-10-26 10:17:00 | 显示全部楼层

Re:如何得到中文输入法输入时的字符?

网上有代码

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2004-10-26 10:20:00 | 显示全部楼层

Re:如何得到中文输入法输入时的字符?

http://www.gameres.com/Articles/Program/Control/ime.htm

这是段很经典的代码,来自一个台湾人,被现在在中国流行的韩国游戏广泛采用,几乎没什么变动

26

主题

324

帖子

325

积分

中级会员

Rank: 3Rank: 3

积分
325
QQ
发表于 2004-10-26 13:15:00 | 显示全部楼层

Re: Re:如何得到中文输入法输入时的字符?

bigbook2000: Re:如何得到中文输入法输入时的字符?

http://www.gameres.com/Articles/Program/Control/ime.htm

这是段很经典的代码,来自一个台湾人,被现在...


这和游戏有什么关系呀??

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2004-10-26 13:57:00 | 显示全部楼层

Re:如何得到中文输入法输入时的字符?

很多3D游戏在全屏模式下,对话框切换不出来,于是,他们就自己绘制输入法的选字栏,一般韩国游戏在汉化过程中如果碰到这种问题都用的上面的代码

但是这段代码对Windows的输入法支持都非常好,但对于一些像紫光,拼音++等等感觉怪怪的

9

主题

378

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
 楼主| 发表于 2004-10-26 17:56:00 | 显示全部楼层

Re:如何得到中文输入法输入时的字符?

不知道是我看的不仔细还是别的原因.
文章上没我需要的东西.
我遇到的问题是:

打开中文输入发,按下按键"L",显示一列预选词组
("1:拉2:啦3:辣4:蜡5:腊6:喇7:垃8:蓝9:落0:瘌").
你按下的那个按键"L"这个字符如何得到?
我能得到预选词组
也可以得到你在看预选词组是按下   1   是输入的文字"拉"
但如何得到那个按键"L"字符?

9

主题

378

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
 楼主| 发表于 2004-10-26 18:08:00 | 显示全部楼层

Re:如何得到中文输入法输入时的字符?

IME的函数无法得到出WINDOWS自备的输入法(微软拼音,全屏,智能ABC...)以外的其他输入发的信息了.
我只试了几个,不知道是不是都这样.

好多韩国游戏,应该用WM_IME_CHAR得到输入后的文字.
他们在游戏中显示输入法窗口.
所以在他们的游戏中使用中文输入法跟WINDOWS下一样

我想他们的方法是得到输入法和预选词组窗口大小和位置,
把区域用裁减器排除掉,不在此区域中贴图,所以才能清楚的看到输入法窗口.
但魔兽3并没用这个,
而是应该是用IME的函数
所以你在魔兽下使用紫光拼音,虽然可以输入,但窗口老闪,看不到.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 00:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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