> On debug ROMs, if you pass virtual characters to TxtCharAttr, you'll
> get a non-fatal alert. On release ROMs, it will blindly use the
> character code value as an index into an array of attributes. Since
> this array only contains 256 elements, a virtual character winds up
> returning random data. That's why it just happened to work with
> vchrClock & vchrPopupBrightness, but not vchrNavChange.
Ahhh. Thanks for the elucidation Ken.
> >if ( ( pEvent->eType == keyDownEvent ) &&
> > ( !TxtGlueCharIsVirtual( pEvent->data.keyDown.modifiers,
> >pEvent->data.keyDown.chr ) )
> >{
> > if ( TxtGlueCharIsPrint( pEvent->data.keyDown.chr ) )
> > {
> > do my thing
> > }
> > // else let system have it
> >}
I did end up implementing the solution this way, which seems like the right
way to go then, for all of the reasons you and Ben mentioned.
Actually I did this:
if ( pEvent->eType == keyDownEvent )
{
if ( !TxtGlueCharIsVirtual( pEvent->data.keyDown.modifiers,
pEvent->data.keyDown.chr ) )
{
if ( TxtGlueCharIsPrint( pEvent->data.keyDown.chr ) )
{
do my thing
} // else let system have it
}
}
Thank you Ken and Ben,
David Thacker
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/support/forums/