On Fri, 10 Sep 1999 14:01:35 -0700 (PDT)  [EMAIL PROTECTED] wrote:

>> 1. It's only when processing a frmUpdateEvent that FrmGetActiveForm
>> may return another form's pointer?
>
> No.  The events frmSaveForm and frmCloseForm can be broadcast directly 
> to form event handlers too.  You can check this yourself by noticing 
> the FrmCloseAllForms and FrmSaveAllForms functions in Form.h.
>
> (...)
> 
> So, looking in Form.c, FrmDispatchForm sends events to the active
form, 
> called CurrentForm in the source.  Other forms will not be sent the 
> event.  So when a normal event loop is doing it's working, only the 
> active form gets events.
> 
> But broadcasts to form event handlers are different.  They directly
call 
> all registered event handling functions.
> 
>> I reckon there's a bug in the FrmDispatchEvent code.
> 
> Hmmm.  I reckon there's a bug too.  I see FrmUpdateForm sets formID
but 
> that RedrawDisplay, when it broadcasts to forms to redraw, doesn't. 
> Thanks.
>
>- -Roger Flores

Let's see, if I got it right:

        ctlEnterEvent,
        ctlExitEvent,
        ctlSelectEvent,
        ctlRepeatEvent,
        lstEnterEvent,
        lstSelectEvent,
        lstExitEvent,
        popSelectEvent,
        fldEnterEvent,
        fldHeightChangedEvent,
        fldChangedEvent,
        tblEnterEvent,
        tblSelectEvent,
        tblExitEvent,
        sclEnterEvent,
        sclExitEvent,
        sclRepeatEvent

These events deal with form object interaction, and only the event 
handler of the active window should get them.

        keyDownEvent,
        menuEvent,
        nilEvent,
        winEnterEvent,
        winExitEvent,
        penDownEvent,
        penUpEvent,
        penMoveEvent,
        frmTitleEnterEvent,
        frmTitleSelectEvent

I hope that an inactive form should never get these events. Is this 
true? Especially, will the event handler of a visible but inactive 
form get pen events? What does the the documentation about 
winEnterEvent with the following phrase mean? "This can happen in 
two ways: a call to WinSetActiveWindow is issued, or the user taps 
within the bounds of a window that is visible but inactive."

        daySelectEvent

Does an application get this event at all, or is it locally handled 
during the SelectDay call?

        appStopEvent
        frmLoadEvent

These events should be handled before FrmDispatchEvent is called.

        frmUpdateEvent,
        frmSaveEvent,
        frmCloseEvent

I understand now, that these events can be broadcast to all 
registered event handlers (active and inactive), and that a bug 
in the OS prevents me from using the event.data.frmUpdate.formID 
(resp. event.data.frmClose.formID). Is that correct?

        frmGotoEvent

I only get this event, if I send it myself. And only the active 
form handler will see it. Correct?

        frmOpenEvent

Only the active form will receive this as its first event. Even 
before it receives an winEnterEvent?

Remo <[EMAIL PROTECTED]>                       /   /   /   /
----------------------------------------- -===(o<0=0=0=0=0=0=0=0>===-
Do NOT remove .nospam from email address!          \   \   \   \

Reply via email to