These are the APIs in the Form Manager having to do with the form as a whole (rather than form objects, which we’ll cover later). As always, we don’t cover every API, but only those that you will most commonly need in your application development.
FormType * FrmInitForm(UInt16 formID)
This reads the form resource with the specified form ID and creates
an in-memory representation of that form. You call this from your
application-wide event handler in response to a
void FrmSetActiveForm(FormType *form)
This makes the passed-in form the one-and-only active form. You call
this in response to a
void FrmDrawForm(FormType *form)
This draws the specified form. As of the 3.5 OS, for modal forms, it will erase what is underneath before drawing. Prior to that, only forms with the “save behind” bit attribute set were erased before drawing.
Of course, it logically follows that you shouldn’t do any
drawing yourself onto the screen before calling
FrmDrawForm; if you do, it will be erased.
FormType *FrmGetFormPtr(UInt16 formID)
This returns the on-screen form whose form ID matches that of the
passed-in value. If there is no matching form, it returns
FormType *FrmGetActiveForm( )
This returns the form that is active. Note that it will not always be
your form. For example, when the OS needs to redraw the screen, it
sends each form, whether active or not, a
frmUpdateEvent. However, in those cases, the OS will temporarily set the ...