如何知道焦点在CDialog派生类中的变化

时间:2014-12-10 15:28:30

标签: visual-c++ mfc

“Common Controls”发出NM_SETFOCUS通知,但不发送编辑控件等基本控件。

我的CDialog派生类中有没有办法知道焦点何时更改为对话框中的任何控件?如果不在我的对话框中,那么可能是任何焦点改变(我可以从hwnd中找出它)?

1 个答案:

答案 0 :(得分:0)

您应该能够处理CWnd::OnCommand并捕获命令ID和通知消息。我试试这样的事情......

if((notificationCode == EN_KILLFOCUS)        ||   
            (notificationCode == LBN_KILLFOCUS) ||
            (notificationCode == CBN_KILLFOCUS) ||
            (notificationCode == NM_KILLFOCUS)  ||
            (notificationCode == WM_KILLFOCUS))

{

 // Here do whatever you want.

}

您可以通过添加等效的_SETFOCUS通知来扩展它。

相关问题