我有一个VC ++ MFC对话框应用程序,在我的OnTimer函数中,我只是想确定对话框中哪个按钮当前有焦点。
这是我想要完成的一些伪代码....
CDialog::OnTimer()
{
CButton *btn = GetButtonOnFocus();
int btnID = btn->GetDlgCtrlID();
}
答案 0 :(得分:2)
我没试过,但这应该有效:
CWnd * pFocus = GetFocus();
int btnID = 0;
if (pFocus != NULL && pDialog->IsChild(pFocus))
btnID = pFocus->GetDlgCtrlID();
这不会仅将结果限制为按钮 - 为此,您需要使用GetClassName并与“按钮”进行比较。