为什么我的窗户收到en_setfocus 12次

时间:2017-01-10 21:24:50

标签: mfc windows-messages

我希望在用户点击密码文本字段时收到通知。 enter image description here 但是当我单击密码文本字段时,会多次调用以下函数:

void CUserDlg::OnSetfocusPasswordEdit()
 {
 // TODO: Add your control notification handler code here
    cout << "focus on password text field";
 }

为什么会这样? 我也尝试过:

LRESULT CFakeUserDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{

// TODO: Add your specialized code here and/or call the base class
switch (message)
{
  case WM_COMMAND:
    switch (LOWORD(wParam))
    {
        case IDC_PASSWORD_EDIT:
        if (HIWORD(wParam) == EN_SETFOCUS)
        {
            cout << "";

        }
        cout << "";
        break;
    }
    .
    .
    .

当我单击文本字段一次时,这种情况也会发生很多次。

我只是试图窥探++,但它显示了spy ++ caputure编辑控件消息,但EN_SETFOCUS不是消息,而是编辑控件通知。

1 个答案:

答案 0 :(得分:-1)

我自己得到了答案。 编辑控件在获得焦点时会继续发送EN_SETFOCUS。