自己实现文本输入框控件,怎么接收用户输入呢?

善良超锅锅 2016-04-30 05:04:01
想在win32api的基础上自己封装控件,只用Windows api创建一个窗口,其他控件全部自己做,比如绘制和事件检测也自己做。目前已经封装了按钮、进度条、单选和复选按钮。但是封装到单行输入框时,不知道该怎么弄了。

我只能根据键盘消息,接收用户输入的字符。但都是英文字符。而且没办法让用户输入时弹出输入法。

怎样才能让用户在我做的输入框中输入时弹出输入法呢(比如搜狗输入法)?怎样接收用户输入的汉字呢?
而且一般输入都可以一次输入一长串文字,这个是怎么做到的呢?

ps:感觉输入框是最难的控件了,字体绘制方面都够麻烦了。
...全文
310 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
善良超锅锅 2016-05-01
  • 打赏
  • 举报
回复
引用 4 楼 dustpg 的回复:
[quote=引用 2 楼 shimachao 的回复:] [quote=引用 1 楼 dustpg 的回复:] WM_CHAR 消息,注意是UTF-16,现在有许多字符编码已经超过单个UTF-16字符了,一长串字符就好收到一长串消息。 微软在Win7SDK中提供了对应的例子(DirectWrite), 在http://msdn.microsoft.com/zh-cn/library/windows/desktop/dd941792(v=vs.85).aspx
我要知道的是接收用户输入,这个例子只是输出而已。[/quote] lz看了代码? 响应了WM_CHAR消息,搜索这个字符串然后顺藤就可以摸瓜.[/quote] 我看了代码,但是编译运行不了,可能是vs版本不对。我再看看
善良超锅锅 2016-04-30
  • 打赏
  • 举报
回复
引用 3 楼 WUYUAN2011WOAINI 的回复:
http://blog.csdn.net/shuilan0066/article/details/6883629
多谢,正式我想要的。貌似很复杂的样子,不过还好我不是做输入法,只是想接收输入法输入的文本。这个链接里讲的很有参考价值,至少给我了搜索的关键字
dustpg 2016-04-30
  • 打赏
  • 举报
回复
引用 2 楼 shimachao 的回复:
[quote=引用 1 楼 dustpg 的回复:] WM_CHAR 消息,注意是UTF-16,现在有许多字符编码已经超过单个UTF-16字符了,一长串字符就好收到一长串消息。 微软在Win7SDK中提供了对应的例子(DirectWrite), 在http://msdn.microsoft.com/zh-cn/library/windows/desktop/dd941792(v=vs.85).aspx
我要知道的是接收用户输入,这个例子只是输出而已。[/quote] lz看了代码? 响应了WM_CHAR消息,搜索这个字符串然后顺藤就可以摸瓜.
善良超锅锅 2016-04-30
  • 打赏
  • 举报
回复
引用 1 楼 dustpg 的回复:
WM_CHAR 消息,注意是UTF-16,现在有许多字符编码已经超过单个UTF-16字符了,一长串字符就好收到一长串消息。 微软在Win7SDK中提供了对应的例子(DirectWrite), 在http://msdn.microsoft.com/zh-cn/library/windows/desktop/dd941792(v=vs.85).aspx
我要知道的是接收用户输入,这个例子只是输出而已。
dustpg 2016-04-30
  • 打赏
  • 举报
回复
WM_CHAR 消息,注意是UTF-16,现在有许多字符编码已经超过单个UTF-16字符了,一长串字符就好收到一长串消息。 微软在Win7SDK中提供了对应的例子(DirectWrite), 在http://msdn.microsoft.com/zh-cn/library/windows/desktop/dd941792(v=vs.85).aspx

15,979

社区成员

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

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