diff --git a/include/maskfld.cpp b/include/maskfld.cpp index 0ad41354a..93db00973 100755 --- a/include/maskfld.cpp +++ b/include/maskfld.cpp @@ -444,15 +444,15 @@ const TString& TMask_field::get() const // @doc EXTERNAL -// @mfunc Permette di spedire il check +// @mfunc Verifica se il campo deve essere sottoposto a check // -// @rdesc Ritorna il risultato del check: +// @rdesc Ritorna il risultato: // -// @flag TRUE | Se il check ha dato esito positivo -// @flag FALSE | Se il check ha dato esito negativo +// @flag TRUE | Se il campo e' da sottoporre a check +// @flag FALSE | Se il campo non e' da sottoporre check bool TMask_field::to_check( KEY k, // @parm Tasto da passare al campo come simulazione di inizio controllo - bool checkrun) const // @parm Permette di testare sanche e la maschera e' in esecuzione + bool checkrun) const // @parm Permette di ritornare TRUE se la maschera e' in start_run() mode { bool yes = (k == K_TAB && focusdirty()) || (k == K_ENTER && dirty()); @@ -2698,7 +2698,7 @@ bool TEdit_field::on_hit() const int vf = validate_func(); if (vf >= 0) { - if (vf == AUTOEXIT_FUNC || vf == NUMCALC_FUNC || vf == STRCALC_FUNC) + if (vf == AUTOEXIT_FUNC || vf == NUMCALC_FUNC || vf == STRCALC_FUNC || vf == 21) { const bool ok = validate(K_TAB); // Check validation expression if (!ok) return FALSE; @@ -2863,20 +2863,22 @@ bool TEdit_field::on_key(KEY key) if (k == K_ENTER) { set_dirty(); - on_hit(); - TMask & m = mask(); - - if (m.is_running()) - { - set_focusdirty(FALSE); // Evita doppia esecuzione handlers! - if (m.query_mode() && in_key(0)) - { - test_key_complete(); + if (on_hit()) + { + TMask & m = mask(); + + if (m.is_running()) + { + set_focusdirty(FALSE); // Evita doppia esecuzione handlers! + if (m.query_mode() && in_key(0)) + { + test_key_complete(); + } + // else + // { + send_key(K_TAB, 0); // Passa al campo successivo + // } } -// else -// { - send_key(K_TAB, 0); // Passa al campo successivo -// } } return TRUE; }