前几天接到一个关于软键盘(soft KeyBoard)的项目,到网上Google了一下,网上只有COnscreenKeyboardDlg这么个东东,可是在用的时候又有问题,大家对这个东东想必也很了解吧,当你想用它在窗体的Edit里面输入东西的时候,却总是不行,总是失去Focus,那个郁闷啊(无法形容)。搞了两天半,现在公布解决方法(简单的要死,晕):
1.在头文件中(COnscreenKeyboardDlg.h)加入:
afx_msg int OnMouseActivate( CWnd* pDesktopWnd, UINT nHitTest, UINT message );
2.在COnscreenKeyboardDlg.cpp中:
BEGIN_MESSAGE_MAP(COnscreenKeyboardDlg, CDialog)
.... //(保留原有函数映射)
ON_WM_MOUSEACTIVATE()//加入
END_MESSAGE_MAP()
3.在cpp中加入:
int COnscreenKeyboardDlg::OnMouseActivate( CWnd* pDesktopWnd, UINT nHitTest, UINT message )
{
return MA_NOACTIVATE;
}
下载地址:http://www.cppblog.com/Files/findingworld/OnscreenKeyboardDlg.rar