>IMHO, there are no normal ways to do this, and this is one more reason to move validation into one place (e.g. cmdSave.click). However, you can make some trick using cmdExit.MouseMove event.
Ed,
There is one "normal" way to do this, set the cancel property of the exit button to .T. and check for LASTKEY()=27 in the valid of all controls.