Form-Level APIs
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
frmLoadEvent.-
void FrmSetActiveForm(FormType *form) This makes the passed-in form the one-and-only active form. You call this in response to a
frmLoadEvent.-
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.
Warning
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
NULL.-
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 ...