case ctlEnterEvent :
if ( event->data.ctlEnter.controlID != StartButton )
return false;
// update display every 0.1 s
UInt32 timeout = SysTicksPerSecond() / 10L;
do
{
EvtGetEvent( &loopEvent, timeout );
if ( loopEvent.eType == nilEvent )
// update elapsed time display
// when entering Stop button, leave loop
else if ( loopEvent.eType == ctlEnterEvent )
{
if ( loopEvent.data.ctlEnter.controlID == StopButton )
break;
}
// if keyDownEvent, leave loop on Datebook key tap
else if ( loopEvent.eType == keyDownEvent )
{
if ( loopEvent.data.keyDown.chr == vchrHard1 )
break;
}
// let form handle pen events
else if ( ( loopEvent.eType == penDownEvent ) ||
( loopEvent.eType == penMoveEvent )||
( loopEvent.eType == penUpEvent )
{
FrmDispatch( loopEvent );
continue;
}
// let OS handle other events
return SysHandleEvent( &loopEvent );
} while ( time < 30.0 ); // stop loop after 30s
// display elapsed time-related data
handle = true
break;
--
Luc Le Blanc
--
For information on using the PalmSource Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/support/forums/
I'm trying to setup a stopwatch-like dialog where I have a Start/Stop
button, and an OK button. When the Start button is hit, I start
displaying elapsed time until the Stop button is hit or the Datebook
hardware button is depressed. My problem is handling the OK button (to
leave the dialog even while the timer is running) and events like a
vchrLaunch keyDownEvent (to leave the application). None of my many
attempts fully succeeded. Either the vchrLaunch is ignored, or the OK
button, or both. My latest attempts goes like this. What's wrong?
- Handling events in stopwatch-like dialog Luc Le Blanc
- Re: Handling events in stopwatch-like dialog Aaron Ardiri
- Re: Handling events in stopwatch-like dialog Luc Le Blanc
- re: Handling events in stopwatch-like dialog Luc Le Blanc
