>>Nigel,
>>
>>Why are you not allowed to use the cancel property for the purpose for which is was put there?
>
>It's a user issue. They are not allowed to use escape or enter for default. Politics!
Nigel,
let me see if I understand the reasoning here. If the user presses escape to get out of a fomr because that is how all other applications work, your forms don't let the escape fire the cancel button. Then the user presses escape and nothing happens. So, the user beign an intelligent person tries their mext method of getting out Ctlr-Alt-Del or the power switch and that works fine.
I'm sorry, but this UI standard doesn't make any sense. Anyway, you can't suspend the valid execution unless you know that the user hit the button. The button doesn't get hit until after the valid fires. There is no way to know if the user hit the button EXCEPT to use the Cancel property so the button sets lastkey() to 27 so you can check for it in the valid. Perhaps this will be a impetus to change the standard.