如何开发一个汉字输入法的程序(vc++)?

ProStanda 2002-02-18 08:31:05
而且要能实现键盘双击的功能?希望各位给个意见?谢谢啦。
...全文
356 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ok2003 2002-03-02
  • 打赏
  • 举报
回复
acptvc:
有些输入法没有.mb文件(例如智能笔划)是咋回事
tigerfox 2002-02-23
  • 打赏
  • 举报
回复
get
acptvc 2002-02-19
  • 打赏
  • 举报
回复
感谢使用微软产品。

Windows系统下汉字输入法的基本原理如下:

Windows系统下汉字输入法实际上是将输入的标准ascii字符串按照一定的编码规则转换为汉字或汉字串,进入到目的地。由于应用程序各不相同,用户不可能自己去设计转换程序,因此,汉字输入自然而然落到WINDOWS系统管理中。

     键盘事件  应用程序
       |    |
      Windows的USER.EXE
         |
       输入法管理器
         |
        输入法 
系统的键盘事件有windows的user.exe软件接收后,user.exe在将键盘事件传导输入法管理器(Input Method Manager,简称IMM)中,管理器 再将键盘事件传到输入法中,输入法根据用户编码字典,翻译键盘事件为对应的汉字(或汉字串),然后再反传到user.exe中,user.exe再将翻译后的键盘事件传给当前正运行的应用程序,从而完成汉字的输入。
微软Windows9x系统中汉字输入法的名称是"Input Method Editor" ,简称IME,输入法的程序名称为:*.ime,数据文件名称为*.MB,即通常说的输入法编码表(字典).
实际上IME文件是一个动态连接库程序(DLL),它与dll文件没有区别,只是名称不同而已。
一般汉字输入法都由三个窗口组成:
状态窗口(Status Windows)-显示当前的输入法状态(中文还是英文等站环信息);
编码输入窗口(Composition Windows)-显示当前击键情况;
汉字选择窗口(Candidates Windows)-列出当前编码的全部汉字(串),供用户选择或查询。
上述三个窗口由基本的用户接口(User Interface )函数管理着。

关于如何开发汉字输入法程序,请进一步参阅MSDN Library:
Win32 Multilingual IME Overview for IME Development
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/appendix/hh/appendix/imeimes_0h2s.asp
Win32 Multilingual IME Application Programming Interface
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/appendix/hh/appendix/imeimes2_35ph.asp

您还可以在MSDN Library中找到一个关于开发输入法程序的源程序:
IMEapps: IME Applications Sample
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcsample98/html/vcsmpime.asp

- 微软全球技术中心 VC技术支持

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查
(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。


lion_programmer 2002-02-18
  • 打赏
  • 举报
回复
问问万能五笔是谁做的不就知道?
wx_xuan 2002-02-18
  • 打赏
  • 举报
回复
xuexi

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧