Every time you tap the screen, the operating system sends a penDownEvent and a penUpEvent. It is up to you, the coder, to make sure that your event loop handles all events necessary for your program to function properly. With every event is a little piece of data indicating specific information about an event. The data accompanying a penDownEvent indicates exactly where a user tapped the screen. A form is a way of organizing controls like text boxes, labels, check boxes, buttons, and slide bars into a group.
Every form has a title, and usually a pull-down menu bar associated with it.
All of these controls and form attributes are specified in a program that generates PalmOS resource files. CodeWarrior uses a program named Constructor, and the gcc PalmOS port uses a program named pilrc. In Constructor you select controls from a toolbox and drag them onto your form. With pilrc, you describe your form, what controls should be on it, and where they should be on it, in a text file. You then tell pilrc to convert the text file into binary PalmOS resource files which, in the end, are all gathered together and used by the buildprc program to generate a prc file.