Buenos días. Sé que tiene que ser una tontería, sé que tiene que haber alguna respuesta por el foro pero no soy capaz de dar con ella. Tengo este código:
Código:
void __fastcall TfTablas::LabeledEdit1Exit(TObject *Sender)
{
TCustomEdit *Edit = dynamic_cast<TCustomEdit *>(Sender);
if (GetAsyncKeyState(VK_ESCAPE) != 0)
{
Button5Click(NULL);
return;
}
try
{
if (Edit->Text.Trim().Length() != 4 || StrToIntDef(Edit->Text, 0) == 0)
throw Exception("Este código de entidad es incorrecto. Revise.");
}
catch(Exception &Exc)
{
Mensaje(1, Exc.Message, "Volver");
Edit->SetFocus();
return;
}
}
Evidentemente hace más cosas pero el problema lo tengo ahí. Necesito que al pulsar la tecla Escape no se haga la validación que hay después, de forma que se abandone ese trozo del formulario. He probado en los eventos OnKeyDown, OnKeyPress u OnKeyUp del TLabeledEdit, tengo puesta una validación en el OnKeyPress del formulario, he probado como está con GetAsyncKeyState... pero ponga lo que ponga siempre se ejecuta la validación.