项目中需要做一个小工具,其中涉及到用户在edit control中输入信息,但是不能输入中文,找到一个方案:参考链接
在代码中添加如下函数实现
#include <Imm.h>
// Function for Disabling IME 禁用中文输入法
void DisableIME(HWND hWnd)
{
HIMC m_hImc; // 全局或者成员变量
//HWND hWnd = pWnd->GetDlgItem(IDC_EDIT1)->m_hWnd;
if (hWnd && IsWindow(hWnd))
{
// Get input context for backup.
m_hImc = ImmGetContext(hWnd);
// Remove association the testing
if (m_hImc)
ImmAssociateContext(hWnd, NULL);
// Release input context
ImmReleaseContext(hWnd, m_hImc);
::SetFocus(hWnd);
}
}
对话框初始化函数中进行调用,如下:
BOOL CLabelCmpDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
DisableIME(pWnd->GetDlgItem(IDC_EDIT1)->m_hWnd); //禁用中文输入法
}