【MFC】MFC中调用系统软键盘的几种方法
来源:互联网 发布:华尔街幽灵 知乎 编辑:程序博客网 时间:2024/06/16 02:10
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")
#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);
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);
运行效果:
分类: C++/VB程序开发, WINCE程序开发
- MFC 中调用系统软键盘的几种方法
- 【MFC】MFC中调用系统软键盘的几种方法
- MFC中调用软键盘
- MFC中调用软键盘
- MFC中调用软键盘
- mfc如何调用windows软键盘
- MFC中获取命令行参数的几种方法
- MFC中获取命令行参数的几种方法
- MFC中获取命令行参数的几种方法
- MFC中获取命令行参数的几种方法
- MFC中获取命令行参数的几种方法
- MFC中获取命令行参数的几种方法
- MFC中获取命令行参数的几种方法
- MFC中获取命令行参数的几种方法
- MFC中获取命令行参数的几种方法
- MFC中获取命令行参数的几种方法
- MFC中实现画线的几种方法:
- mfc 中画线的几种方法,画刷
- cookie
- 10 个免费的 C/C++ 集成开发环境
- I/O系统
- watchdog
- Web服务器文件监控平台-Falcon
- 【MFC】MFC中调用系统软键盘的几种方法
- 教你如何安装 Internet 信息服务
- Maven实战感悟
- 在SMARTFORMS中取消使用WORD作为编辑器
- Paint类介绍
- self. 与 存取方法有关
- glBlendFunc()的参数
- 被动的现状要改变
- order by 排序