>>Is there a way to execute a method of a control from an OKL, where the OKL is defined in the init of the form which contains the control? I want to run the Click() method of a button (which has no text prompt, just a graphic) by pressing a key sequence, like Ctrl-F. I have the following in the form's Init...
>>
>>ON KEY LABEL CTRL+F ThisForm.cmdFind.Click()
>>
>>... but I get the error "THISFORM can only be used within a method".
>>
>>Is there a way to do this???
>
>The easier way: ON KEY LABEL ... _VFP.ActiveForm.cmdFind.Click().
>
>HTH!
Better yet. handle this in the form's keypress event. (OKLs are dangerous because they are interprocess commands that can interrupt running code and cause wierd stuff).
Set you form.keypreview = .T.
and put the following code in your form's keypress event:
IF (nKeyCode = ASC("F") OR nKeyCode = ASC("f")) AND nShiftAltCtrl = 2
THISFORM.CmdFind.Click()
NODEFAULT
ENDIF
Erik Moore
Clientelligence