| 
    Slide 7.11: Line-by-line anatomy of Hello_a.c Slide 7.13: Line-by-line anatomy of Hello_a.c (cont.) Home  | 
  
    
   | 
 
Hello_a.c (Cont.)
 
  if ( MenuHandleEvent( (void *) 0, &e, &err ) ) continue;
 
menuP: Pointer to a MenuBarType data structure
 event: Pointer to an EventType structure
 error: Error (or 0 if no error)
 true if the event is handled; that is, if the event is a penDownEvent within the menu bar or the menu, or the event is a keyDownEvent that the menu supports.
Returns false on any other event.
  case ctlSelectEvent:
       if ( e.data.ctlSelect.controlID == OK )
 
CtlHandleEvent receives a ctlEnterEvent, it tracks the pen until the pen is lifted. 
If the pen is lifted within the bounds of the same control it went down in, a ctlSelectEvent is added to the event queue; if not, a ctlExitEvent is added to the queue.
For this event, its data field contains the structure:
     struct  ctlSelect {
     UInt16  controlID;
     struct  ControlType  *pControl;
     Boolean on;
     UInt8   reserved1;
     UInt16  value;
   }  ctlSelect;
controlID: Developer-defined ID of the control
 pControl: Pointer to a control structure (ControlType)
 on: true when the control is depressed; otherwise, false
 reserved1: Unused
 value: Current value if the control is a slider
 e.data.ctlSelect.controlID .