如上图,我实现了WM_KILLFOCU的映射,但是对话框除了第一次会进去
下面的消息函数后,再也没有进来过来
我在对话框上摆放的Edit控件失去焦点也不会进来
后面无意中看到一篇文章,正确的处理方式应该是这样
重载虚函数,OnCommand
BOOL CDlgConfigWebservice::OnCommand(WPARAM wParam, LPARAM lParam)
{
// TODO: 在此添加专用代码和/或调用基类
UINT nID = LOWORD(wParam);
HWND hWndCtrl = (HWND)lParam;
int nCode = HIWORD(wParam);
if(nCode == EN_SETFOCUS)
{
m_nFocusEditId = nID;
}
else if (nCode == EN_KILLFOCUS)
{
}
else if (nCode == BN_CLICKED)
{
m_nFocusEditId = -1;
}
return CDlgConfigObject::OnCommand(wParam, lParam);
}
所有编辑控件的获取焦点和失去焦点,上面都可以监控到了