O'Reilly logo

Palm OS Programming, 2nd Edition by Neil Rhodes, Julie McKeehan

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Form Events

There are five form-level events sent by the Form Manager to an application:

frmLoadEvent

This specifies that a form needs to be loaded. While there is no default handling for this event, this is certainly the event for which your application-wide event handler is looking (see Chapter 5). In response to this event, the event handler must do the following:

  • Initialize the form

  • Make it the active form

  • Install an event handler for it

frmOpenEvent

This specifies that a form is being opened. There is no default handling for this event. Your form-specific event handler needs to draw the form (after initializing any form objects that it desires).

Warning

Do not do any drawing to the screen before calling FrmDrawForm (the 3.5 or later debug ROMs will cause an error if you try). You may do initialization of form objects, which will then draw with their new values when the form itself draws. Since the bits underneath for the form are saved on the first FrmDrawForm (see Section 8.2 earlier), you don’t want to do any drawing before that, or the wrong bits will be saved.

frmCloseEvent

This is sent when a form is being closed. The default handling for this event is to erase the form (restoring the bits underneath, if Save Behind is set), and delete it from memory. You’ll often want to look for this event so as to undo the effects of any initialization you did on the frmOpenEvent (e.g., deallocate allocated memory). You’ll still want to return false from your event handler, however, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required