Volevo controllare i valori degli edit quando si lasciava il campo attraverso EN_KILLFOCUS che notifica quando
edit control perde il keyboard focus. Per il test ho tre edit ed un bottone e questo è il frammento di codice:
case WM_COMMAND:
if (HIWORD(wParam) == EN_KILLFOCUS) {
if (GetFocus() != NULL && GetParent(GetFocus()) != NULL) {
if (GetDlgCtrlID((HWND) lParam) != IDC_BTN1) {
controlla(LOWORD(wParam));
}
}
}
break;
controlla(...) ha uno switch che verifica secondo l'Id del controllo
per verificare il funzionamento lo switch manda dei messagebox ecco COSA NON VA:
1) se passo al campo successivo mi da un avviso per ben due volte (due messaggi) che è sul nuovo campo
2) e poi un terzo messaggio che ha lasciato il campo precedente
3) dopo di che il cursore è sul campo successivo
mi illuminate ????