惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
aimingoo的专栏
aimingoo的专栏
博客园 - 叶小钗
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
The Cloudflare Blog
S
SegmentFault 最新的问题
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
量子位
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
V2EX
Martin Fowler
Martin Fowler
博客园 - 【当耐特】
J
Java Code Geeks
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
F
Fortinet All Blogs
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI

博客园 - Richard

使用Expresso学习.net正则表达式 Learning .NET Regular Expressions with Expresso SWOT分析法 Symbian60第二版拍照功能实现 WindowsMobile2003拨号回拨 Windows2003Web权限问题 佣兵天下-看书 以前用过的的一个线程池代码 Symbian60平台开发环境搭建 回归 虚函数,看看吧 sizeof讨厌的东西 C# 下的struct Black Berry 无尽空虚 J2ME下访问.net的webservice 读取ini配置文件的API C#今天学的知识 急用抄过来不整理了-Access
设置控件输入的输入方式-补充
Richard · 2005-05-31 · via 博客园 - Richard

经过测试发现可以通过|运算设置其它的输入方式,例如汉字输入与大写字符输入法。
关键在于winuserm.h中定义的几种输入模式的组合,
可以供组合的键值有

// Input mode modifier flags
#define EIMMF_SETCLR_SHIFT          IMMF_SETCLR_SHIFT       // In. Used to set/clear Shift.
#define EIMMF_SETCLR_CAPSLOCK       IMMF_SETCLR_CAPSLOCK    // In. Used to set/clear Capslock.
#define EIMMF_SHIFT                 IMMF_SHIFT              // In/Out. Shift state.    
#define EIMMF_CAPSLOCK              IMMF_CAPSLOCK           // In/Out. CapsLock state.
#define EIMMF_MASK                  IMMF_MASK               // Mask to access modifier flags.

利用这些可以组合出新的输入模式:
测试出来的有
SendMessage(hWnd, EM_SETINPUTMODE, 0, EIM_SPELL | IMMF_CAPSLOCK | IMMF_SETCLR_CAPSLOCK);
可以设置输入方式为大写字母输入
而对于EIM_SPELL与EIM_TEXT有一定区别就在于,使用EIM_SPELL出现的是字母的输入法,而使用EIM_TEXT有可能出现汉字的输入法,没有搞明白怎么回事
同样是T9输入法的EIM_AMBIG也有可能出现汉字输入法。
这个组合是出现汉字输入法的组合EIM_AMBIG | IMMF_SHIFT | IMMF_SETCLR_SHIFT,应该还有几个,不过没有试出来,不知道哪里有这种文档,要是可以查出来就好了,省得这样试。