Subject Re: Pushbuttons
From Mervyn Bick <invalid@invalid.invald>
Date Mon, 7 Oct 2019 15:54:24 +0200
Newsgroups dbase.getting-started

On 2019-10-07 8:05 AM, Akshat Kapoor wrote:

> Thank You for the explanation Mervyn,
> Yes extracting what to do from Pushbutton properties is also possible
> We can easily obtain which control has focus
>        if type('this.parent.activeControl') # 'U'
>            if this.parent.activeControl.Name == "CANCELPUSHBUTTON"
>               this.stopTrying := true
>               return
>            endif
>        endif

It's actually easier than that.  Store the value from the field
push_action to a user-defined property of the pushbutton when it is

cmd = [form.main]+temp+[.action = ']+
cmd = [form.main]+temp+[.onclick = form.push_onclick]

All the pushbuttons use the same onClick event handler but you don't
need to know specifically which pushbutton has focus.  In fact, if you
set the pushbutton's speedbar property true, it won't get focus when

"this" in the event handler is always the object which executed the
event handler whether it gets focus or not.  The event handler can,
instead of having the action passed to it as a parameter, simply fetch
it from the user-defined property of the appropriate pushbutton.

   function push_onClick()
      action = this.action        
      form.result.text = action