获得按钮焦点 - MFC

时间:2009-05-15 01:28:30

标签: mfc button dialog focus

我有一个VC ++ MFC对话框应用程序,在我的OnTimer函数中,我只是想确定对话框中哪个按钮当前有焦点。

这是我想要完成的一些伪代码....

CDialog::OnTimer()
{
     CButton *btn = GetButtonOnFocus(); 
     int btnID = btn->GetDlgCtrlID();
}

1 个答案:

答案 0 :(得分:2)

我没试过,但这应该有效:

CWnd * pFocus = GetFocus();
int btnID = 0;
if (pFocus != NULL && pDialog->IsChild(pFocus))
    btnID = pFocus->GetDlgCtrlID();

这不会仅将结果限制为按钮 - 为此,您需要使用GetClassName并与“按钮”进行比较。