微妙的平衡

--- 勿以善小而不为,勿以恶小而为之。 ---
随笔 - 29, 文章 - 0, 评论 - 132, 引用 - 0
数据加载中……

HGE中文显示与中文输入整合新方案[源码]

 在原中文显示的源码上增加中文输入的类,不需要改动HGE的任何源码即可支持中文输入。

即:HGE 中文输入编辑框。

具体请参阅源码,若你存有疑问欢迎至邮:bogy.cn@gmail.com
 

演示与源码下载地址:http://bogy.cn/labs/download.php?file=hge_render_input_cn.rar

posted on 2008-03-25 15:27 微妙的平衡 阅读(1586) 评论(10)  编辑 收藏 引用 所属分类: Labs

评论

# re: HGE中文显示与中文输入整合新方案[源码]  回复  更多评论   

上学的时候,老师把GUI的部分实现了大部分了,可惜现在手上没他的代码了。。。。。
等偶找到了,贴出来 一起研究下~~~~~
2008-03-25 18:37 | 小不点

# re: HGE中文显示与中文输入整合新方案[源码]  回复  更多评论   

谢谢你的代码;)
另外顺便提个内存泄露的bug
GfxEdit::~GfxEdit(void)
{
if(m_pHGE) m_pHGE->Release();
}
里面应该改成
GfxEdit::~GfxEdit(void)
{
if(m_pSprite) delete m_pSprite;
if(m_pFont) delete m_pFont;
if(m_pHGE) m_pHGE->Release();
}


2008-04-06 00:50 | slothxx

# re: HGE中文显示与中文输入整合新方案[源码]  回复  更多评论   

错误已修正。感谢slothxx
2008-04-08 09:09 | bogy

# re: HGE中文显示与中文输入整合新方案[源码][未登录]  回复  更多评论   

新方案很棒!我在用GfxFont输出汉字的时候如果夹杂着英文,选用华文细黑会出现英文字母间距混乱的问题,由于我做了MultiByteToWideChar的转换,也许是我修改的问题。
2008-04-11 07:12 | lyx

# re: HGE中文显示与中文输入整合新方案[源码]  回复  更多评论   

发现个BUG,如果在在五笔或全拼等输入法下,标点符号不能使用(程序还会假死)。
还有,#等符号也打不出来..

支持微妙的平衡,希望越做越好,把光标定位,复制粘贴也做出来
2008-04-13 13:45 | wzqqwz

# re: HGE中文显示与中文输入整合新方案[源码]  回复  更多评论   

再提个小意见;)
字体部分里的CA2W是有限制的,如果源字符串大于了128个字节,转换就会失败
因此建议将:
Render(x,y,CA2W(sBuffer));
改成
Render(x,y,CA2WEX<1024>(sBuffer));
那个1024什么的可以自己定义个常量或者宏;)

个人感觉,GfxEdit最好把setFocus和killFocus也稍微改下,现在同时共存2个及以上GfxEdit的时候会有些问题的,把系统回调函数的设置在那两个函数里稍微处理下,并且把构造函数里的回调函数的设置去掉比较好;)
2008-04-13 16:56 | slothxx

# re: HGE中文显示与中文输入整合新方案[源码]  回复  更多评论   

能不能把 同时 共存两个以上的 编辑框 实现 具体介绍一下

我卡住了。。。。。
2008-04-16 15:23 | 成都和为软件技术

# re: HGE中文显示与中文输入整合新方案[源码]  回复  更多评论   

这里有这个方案的改进方案,还支持复制粘贴等操作

http://www.hgechina.com/forum/viewtopic.php?t=121

但是仍然不够完善,还有相对于一个真正的文本框还有不少问题。
2008-04-19 12:45 | fovs

# re: HGE中文显示与中文输入整合新方案[源码]  回复  更多评论   

窗口模式下输入完全没问题,但是全屏就不行了,会看不到输入法状态的。

对我们这些以全屏为主的游戏开发者来说,还得继续研究哎~~

谁有全屏下解决输入法的方案,请共享出来呼呼~~
2008-04-19 20:19 | wzqqwz

# re: HGE中文显示与中文输入整合新方案[源码]  回复  更多评论   

本来想说输入“.句点”的时候便delete操作的~~
原来新版解决了,非常感谢~~
2008-04-29 21:09 | 天佑我们

标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
相关链接:
网站导航: