-1
사용자가 암호 텍스트 필드를 클릭하면 알림을 받고 싶습니다. 하지만 암호 텍스트 필드를 클릭 할 때, 다음과 같은 기능은 한 번 이상 호출됩니다 내 창이 수신되는 이유 12 회
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 ++를 시도했지만 spy ++ caputure가 제어 메시지를 편집하는 것으로 표시되지만 EN_SETFOCUS
은 메시지가 아니며 편집 제어 알림입니다.
질문에 대한 답변이 충분하지 않습니다. 디버깅을 위해 무엇을 시도 했습니까? Spy ++를 사용하여 메시지 스트림을 확인하고 실제로 여러 WM_SETFOCUS 메시지가 있는지 또는 코드가 여러 번 발생한다고 생각하게 만드는 다른 곳의 버그가 있는지 확인하십시오. –
아니요 WM_SETFOCUS – firstaccount
죄송합니다. EN_SETFOCUS 알림. Spy ++로 확인할 수도 있습니다. –