>I have a form with entry fields at the top and a grid at the bottom. If the cursor in in the entry fields hitting the esc key closes the form and returns a record number to the calling form. If the cursor is in the grid I want hitting the esc key to set focus to the first entry field and if the enter key is hit while the cursor is in the grid I want the form to close and return a record number to the calling form.
>
>My problem- the form is intercepting keystrokes and I can't figure out a way to let the form keystroke method know that the grid has focus. The debugger wont tell me the value of _screen.activeform.activecontrol or any other property that I can think to evaluate. This is dumb, dumb. Help HELP HELP Please.
>
>Thanks
I made a simple test form with a couple of controls, set the forms KeyPreview property to .t. and put the following code in the Form.KeyPress event
LPARAMETERS nKeyCode, nShiftAltCtrl
IF NkeyCode = 27
WAIT WINDOW _SCreen.activeform.activecontrol.name
endif
DODEFAULT( nKeyCode, nShiftAltCtrl)
It seems to work OK?????