MFC中调用软键盘
2013-05-09 17:17
260 查看
转http://blog.csdn.net/owldestiny/article/details/6102932
1、前提
[cpp]
view plaincopy
//头文件中添加包含文件
#include <Imm.h>
//源文件中添加lib文件
#pragma comment(lib,"imm32.lib")
2、调用
在需要调用软键盘的响应中添加:
[cpp]
view plaincopy
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);
以上内容转自http://xiaoyueweiguang.blog.163.com/blog/static/117267556200991210485065/
修改一下,使得mfc中的输入框在获取输入焦点时使用软键盘,失去焦点时不使用软键盘
在dlg类中加入成员变量
[cpp]
view plaincopy
public:
// 软键盘
HIMC m_hIMCSoftKey;
public:
// 软键盘
DWORD m_dwConvSoftKey;
public:
// 软键盘
DWORD m_dwSentSoftKey;
在oninitdialog中加入
[cpp]
view plaincopy
g_hwnd=this->GetSafeHwnd();
//软键盘
m_hIMCSoftKey = ImmGetContext(g_hwnd);// 接受输入的窗口句柄
ImmGetConversionStatus(m_hIMCSoftKey,&m_dwConvSoftKey,&m_dwSentSoftKey);
在ondestroy中加入
[cpp]
view plaincopy
//软键盘
ImmReleaseContext(g_hwnd,m_hIMCSoftKey);
在onsetfocus中加入
[cpp]
view plaincopy
m_dwConvSoftKey |= IME_CMODE_SOFTKBD; // 打开软键盘
ImmSetConversionStatus(m_hIMCSoftKey,m_dwConvSoftKey,m_dwSentSoftKey);
在onkillfocus中加入
[cpp]
view plaincopy
m_dwConvSoftKey &= ~IME_CMODE_SOFTKBD;// 这是关闭软键盘
ImmSetConversionStatus(m_hIMCSoftKey,m_dwConvSoftKey,m_dwSentSoftKey);
1、前提
[cpp]
view plaincopy
//头文件中添加包含文件
#include <Imm.h>
//源文件中添加lib文件
#pragma comment(lib,"imm32.lib")
2、调用
在需要调用软键盘的响应中添加:
[cpp]
view plaincopy
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);
以上内容转自http://xiaoyueweiguang.blog.163.com/blog/static/117267556200991210485065/
修改一下,使得mfc中的输入框在获取输入焦点时使用软键盘,失去焦点时不使用软键盘
在dlg类中加入成员变量
[cpp]
view plaincopy
public:
// 软键盘
HIMC m_hIMCSoftKey;
public:
// 软键盘
DWORD m_dwConvSoftKey;
public:
// 软键盘
DWORD m_dwSentSoftKey;
在oninitdialog中加入
[cpp]
view plaincopy
g_hwnd=this->GetSafeHwnd();
//软键盘
m_hIMCSoftKey = ImmGetContext(g_hwnd);// 接受输入的窗口句柄
ImmGetConversionStatus(m_hIMCSoftKey,&m_dwConvSoftKey,&m_dwSentSoftKey);
在ondestroy中加入
[cpp]
view plaincopy
//软键盘
ImmReleaseContext(g_hwnd,m_hIMCSoftKey);
在onsetfocus中加入
[cpp]
view plaincopy
m_dwConvSoftKey |= IME_CMODE_SOFTKBD; // 打开软键盘
ImmSetConversionStatus(m_hIMCSoftKey,m_dwConvSoftKey,m_dwSentSoftKey);
在onkillfocus中加入
[cpp]
view plaincopy
m_dwConvSoftKey &= ~IME_CMODE_SOFTKBD;// 这是关闭软键盘
ImmSetConversionStatus(m_hIMCSoftKey,m_dwConvSoftKey,m_dwSentSoftKey);
相关文章推荐
- MFC中调用软键盘
- MFC中调用软键盘
- MFC对话框退出程序所调用的函数
- MFC的DLL中调用函数指针与主程序交互
- QT调用MFCDLL
- [VB.NET]求教:vb.net调用MFC DLL问题
- 【MFC】基于对话框的键盘响应
- MFC中子窗口调用父窗口资源的方法
- mfc的各大类之间的相互调用
- MFC对话框里利用CHtmlView加载界面(二)————MFC调用JaveScript
- MFC对话框里利用CHtmlView加载界面(三)————JaveScript 调用 MFC
- 非托管MFC调用WPF控件
- ActiveX(MFC)控件——添加接口及WEB调用
- 如何调用MFC dll 来显示其中的对话框
- android中调用软键盘
- 如何在MFC中调用C#编写的DLL
- cef1 mfc 对话框简单调用
- VS2008 MFC键盘响应操作
- MFC中调用WPF教程
- C# 调用C++/MFC写的dll