From: "Adam Braun" <[EMAIL PROTECTED]>
> The main form of the application (call it form A) displays another form
> (call it form B) using a call to FrmPopupForm.  Form B is a modal dialog
box
> that only takes up half the screen.  It has some tricky behavior so I
have
> to use this call to get it going.  When it is done, it calls
> FrmReturnToForm(0) to get back to form A.  At this point, the data in
form A
> has changed and I redraw the display on the frmUpdateEvent.
Unfortunately,
> even though the whole screen is redrawn, only the part that was under
form B
> is actually changed on the display.  I've tried erasing the form, drawing
> it, and all sorts of combinations, but I can't get the whole display to
be
> updated.
>
>From memory this has to do with the way PalmOS handles
FrmReturnToForm.  You've probably got savebehind set and
what PalmOS is doing is redrawing the saved area, thus
avoiding the need to issue an frmUpdateEvent.  I think that in
doing this there are some clipping issues - I recall conversations
in the past about clipping regions preventing updates outside the
area of the current modal form (sorry to be vague, but I don't
have time to confirm these suspicions with eScribe searches).

The other possibility is that you're calling FrmReturnToForm
and then doing the redraw immediately forgetting (as I did last
week) that it takes time for the return to be actioned.  In this
case your drawing may be sucessful, but PalmOS is drawing the
saved screen area over the top of your changes when it activates
the underlying form.  Single-stepping in the emulator should
confirm if this is happening.

Whichever the case, I would try calling FrmUpdateForm
following the FrmReturnToForm to force a repaint of the entire
form.  You could attach your redraw logic to this.

Chris Tutty
Director
Izyn Technologies Ltd



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to