【MFC】MFC中调用系统软键盘的几种方法

1.直接运行微软系统自带的虚拟键盘程序“osk.exe”

在普通MFC项目中可以调用ShellExecute或者WinExec方法来直接运行微软系统自带的虚拟键盘程序“osk.exe”,十分方便一句话就可以搞定。

ShellExecute:
    ShellExecute(GetSafeHwnd(), NULL, _T("osk.exe"), NULL, NULL,SW_NORMAL);

WinExec:

   WinExec("osk.exe",SW_NORMAL);

 

程序运行出来的界面:

 

2.添加"imm.h"和"imm32.lib"来调出软键盘

在你要调出软键盘的代码中引入"imm.h"头文件(若项目里没有这两个文件,则将这两文件复制到项目根目录里,并将"imm.h"添加到工程里)

#include <Imm.h>  
#pragma comment(lib,"imm32.lib")  

然后在调出软键盘的消息事件中添加如下代码即可:

HIMC hIMC = ImmGetContext(pWnd->m_hWnd);   //获取接受输入的窗口句柄   
DWORD dwConv, dwSent;  
ImmGetConversionStatus(hIMC,
&dwConv,&dwSent);  
if (dwConv & IME_CMODE_SOFTKBD)  
 dwConv 
&= ~IME_CMODE_SOFTKBD;//关闭软键盘   
else  
 dwConv 
|= IME_CMODE_SOFTKBD; //打开软键盘    
ImmSetConversionStatus(hIMC,dwConv,dwSent); //打开或关闭软键盘
ImmReleaseContext(pWnd
->m_hWnd,hIMC);   

 但这种方法似乎只能在输入法开启的状态下才可以打开软键盘

 

3.在WINCE上运行的MFC中使用SipApi来调出软键盘

为项目添加"sipapi.h"头文件,并在代码中把这个头文件包括进来

调出软键盘的方法调用起来很简单,就一句话而已。

打开软键盘:

        SipShowIM(SIPF_ON);

关闭软键盘:

 

        SipShowIM(SIPF_OFF);

 运行效果:

转载于:https://www.cnblogs.com/youuuu/archive/2011/07/25/2116370.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298202.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

委派用户管理Hyper-v

在安装完成Hyper-v以后&#xff0c;默认情况下&#xff0c;只有管理员组的成员才有权限去管理Hyper-v&#xff0c;做一些诸如管理网络&#xff0c;管理虚拟机&#xff0c;管理磁盘等等的操作&#xff0c;普通用户没这个权限&#xff0c;从应用角度来说&#xff0c;如果公司所有…

pb 动态改变DW的WHERE子句

PB心得4-动态改变DW的WHERE子句 在DW的FILTER的使用一文中提到如果检索条件因素不固定的话&#xff0c;可以使用动态改变DW的WHERE子句的方法。 这个方法的实现是这样的&#xff0c;做一个没有参数的DW&#xff0c;在程序中&#xff0c;先通过DW.OBJECT.DATAWINDOW.TABLE.SEL…

这才是真正的蛙泳,还挺能蹦跶......

1 这才是真正的蛙泳▼2 给你们看看我平时藏起来的可爱▼3 沈腾这rap唱的跟闹着玩儿的似的▼4 能不能好好说话&#xff1f;▼5 建议再配套一张肛肠医院代金券▼6 这是我军培养出来的【特工鹅】吗&#xff1f;盯梢技能太强了▼7 钓鱼翻车现场▼你点的每个赞&#xff0c;我…

缓存机制 java_缓存机制:java中缓存的原理

外存&#xff1a;也就是我们经常说的(CDEF盘的大小)外储存器是指除计算机内存及CPU缓存以外的储存器&#xff0c;此类储存器一般断电后仍然能保存数据。常见的外存储器有硬盘、软盘、光盘、U盘等&#xff0c;一般的软件都是安装在外存中内存&#xff1a;内存是计算机中重要的部…

docker-compose 一键部署分布式配置中心Apollo

简介说起分布式肯定要想到分布式配置中心、分布式日志、分布式链路追踪等在分布式部署中业务往往有很多配置比如: 应用程序在启动和运行时需要读取一些配置信息&#xff0c;配置基本上伴随着应用程序的整个生命周期&#xff0c;比如&#xff1a;数据库连接参数、启动参数等,都需…

python调用gpu进行运算_用python做GPU计算(1)——安装以及配置

实验小白鼠&#xff1a;联想Y470 显卡 GT550M 操作系统 ubuntu12.04 64位 python2.7ubuntu12.04 需要重新安装显卡驱动&#xff0c;不过可以直接安装cuda_5.0.35_linux_64_ubuntu11.10-1.run 程序包&#xff0c;会一并更新显卡驱动这是官方的下载地址https://developer.nvidia.…

Sharepoint Designer 2007 Workflow

参考 http://office.microsoft.com/en-us/sharepoint-designer-help/collect-data-from-a-user-in-a-workflow-HA010209808.aspx 注意 这里的Review Document是一个Task List, 应该在site里面创建一个task list&#xff0c;可以用默认的Tasks.转载于:https://www.cnblogs.com/F…

各种排序算法及其实现总结

排序算法总结 1.插入排序 一般来说&#xff0c;插入排序 都采用in-place在数组上实现。具体算法描述如下&#xff1a; 从第一个元素开始&#xff0c;该元素可以认为已经被排序 取出下一个元素&#xff0c;在已经排序的元素序列中从后向前扫描 如果该元素&#xff08;已排序&…

uva705--slash maze

/*这道题我原本是将斜线迷宫扩大为原来的两倍&#xff0c;但是在这种情况下对于在斜的方向上的搜索会变的较容易出错&#xff0c;所以参考了别人的思路后将迷宫扩展为原来的3倍&#xff0c;这样就变成一般的迷宫问题了*/ 1 #include"iostream"2 #include"stdio.…

重磅公开!集14位名师教案的《最全高中数学解题思想方法汇编》

全世界只有3.14 % 的人关注了爆炸吧知识解数学题&#xff0c;除了掌握有关的数学知识之外&#xff0c;最好掌握一定的解题技巧甚至知道点解题思想。要知道高考试题的解答过程中蕴含着重要的数学思想方法&#xff0c;如果能有意识地在解题过程中加以运用&#xff0c;势必会取得很…

极域课堂管理系统软件如何取消控制_智慧物流自动化智能仓储管理架构分析

现阶段&#xff0c;智慧物流&#xff08;ztmapinfo.com.&#xff09;成为了时事热点&#xff0c;获得物流界广泛关注。许多 物流自动化系统、物流自动化设备都打出了智慧物流的幌子&#xff0c;在刚结束了的CeMAT亚洲物流展上&#xff0c;宣传展现智慧物流技术与商品的公司增加…

控制 Redis stream 的消息数量

控制 Redis stream 的消息数量IntroRedis Stream 是 Redis 5.0 引入的一个新的类型&#xff0c;之前我们介绍过使用 Redis Stream 来实现消息队列&#xff0c;可以参考之前的文章 使用 Redis Stream 实现消息队列&#xff0c;而 Stream 的消息会持久化地内存中&#xff0c;如果…

java oom-killer_与Linux OOM-killer的第一次亲密接触

From1、最近一段时间(更换了预发机器后)我负责的一个应用的预发环境(线上稳定得像个婴儿~)特别不稳定&#xff0c;最先是应用频频的过几天就发现提供的接口不工作了&#xff0c;但容器Jetty还在跑得欢&#xff0c;于是jstack/jmap看&#xff0c;发现没有一个线程在跑我的war包中…

CentOS+lighttpd+php+mysql (fastcgi)环境的搭建(转)

呵呵&#xff01;觉得有必要把今晚的装lighttpd的经验和过程给记录下来&#xff01; 第一次写这样的文章&#xff0c;有什么不足的地方请高手们指出并给与修正&#xff01;下面开始&#xff01; 第一步&#xff1a;系统的安装&#xff01; 菜鸟的朋友们&#xff0c;可以先去lin…

vpx8运行待解决问题

一开始运行的时候是因为找不到HAVE_CONFIG_H他的定义&#xff0c;所以编译无法通过&#xff0c;找了好久还是没有找到&#xff0c;所以就先把它给注释掉了&#xff0c;结果运行的时候还是无法通过&#xff0c;运行的结果如下&#xff1a; 希望赶紧找到解决的办法 1>------ B…

led灯具供货合同

美高森美与索尼合作推出首款具3D功能的定时控制器与局部调光LED背光组合解决方案在刚刚结束的第十一届国际集成电路研讨会暨展览会&#xff08;IIC-China 2011&#xff09;上&#xff0c;美高森美公司(Microsemi)展示了与索尼合作推出的目前市场上首款具有3D功能的定时控制器与…

startindex 不能大于字符串长度_玩转云端丨redis的5种对象与8种数据结构之字符串对象(下)...

引言本文是对《redis设计与实现(第二版)》中数据结构与对象相关内容的整理与说明。本篇文章只对对象结构&#xff0c;1种对象——字符串对象。以及字符串对象所对应的两种编码——raw和embstr&#xff0c;进行了详细介绍。表达一些本人的想法与看法&#xff0c;也希望更多朋友一…

网友半夜差点被沐浴露吓死,众人:原来不止我胆小....

全世界只有3.14 % 的人关注了爆炸吧知识微博上有网友爆料说&#xff0c;他半夜上厕所差点被沐浴露吓死&#xff01;这么看可能不明显但是关灯的时候.....啊啊啊啊啊&#xff5e;结果引来众多网友的共鸣&#xff0c;原来大家都有类似遭遇....比如&#xff0c;你有被饮水机吓到过…

.NET 6 RC1 正式发布

昨天晚上微软发布了.NET 6的两个RC版本中的第一个版本&#xff0c;该版本将于11月正式发布&#xff0c;作为在开源MIT协议下整合所有不同的.NET开发模组件的开源跨平台实现。这是一个从2014年开始&#xff0c;持续多年的&#xff0c;以改变应用开发游戏规则的努力&#xff0c;由…

Winform开发中另一种样式的OutLookBar工具条

很早的时候&#xff0c;曾经写了一篇随笔《WinForm界面开发之“OutLookBar”工具条》介绍了OutLookBar样式的工具条&#xff0c;得到很多同行的热烈反馈&#xff0c;我个人也比较喜欢这样的工具条布局&#xff0c;因此我很多共享软件中&#xff0c;都经常看到这种OutLookBar的工…