0

VC++ MFC ダイアログ アプリケーションがあり、OnTimer 関数で、ダイアログのどのボタンに現在フォーカスがあるかを判断しようとしています。

ここに私が達成しようとしていることのいくつかの疑似コードがあります....

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

1 に答える 1

2

私はそれを試していませんが、これはうまくいくはずです:

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

これにより、結果がボタンのみに制限されることはありません。そのためには、GetClassNameを使用して、「ボタン」と比較する必要があります。

于 2009-05-15T01:50:44.787 に答える