MFC调用输入法软件盘

首先包含头文件,添加库文件
#include
#pragma comment(lib, “imm32.lib”)
添加消息WM_LBUTTONDOWN

void CModifyPassword::OnLButtonDown(UINT nFlags, CPoint point)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	HWND hwnd = ::GetFocus();
	int iID = ::GetDlgCtrlID(hwnd);
	if (iID == IDC_OLDPASSWD_EDIT || iID == IDC_NEWPASSWD_EDIT1
		|| iID == IDC_NEWPASSWD_EDIT2)
	{
		HIMC hIMC = ImmGetContext(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(hwnd, hIMC);

	}

	CDialogEx::OnLButtonDown(nFlags, point);
}

他调用的是系统的输入法最好先安装一个搜狗输入法。会自动调用搜狗软键盘。

你可能感兴趣的:(MFC,c++)