I agree that the PalmOS tables are weak in this area. But I don't see it the way you do. The row height need not match the item heights. Each item can have it's own height. What would be nice is a TblSetItemHeight function that applies to some item styles such as custom, that don't have any obvious item height of their own. Item styles such as label, check-box, and field would give errors if this function was called on them.
If you want to work with pre-4.0 devices, you can't use my new item style. I'm not the best person to answer the question of how to do it. The authors of apps like AsciiChart that were fixed to work properly on the older OS versions could answer better than I. However, here is my best guess. Get access to the OS source code. Look at table.c and see how you can override it's behavior by catching events and processing them yourself. For example, instead of letting the table deal with highlighting the row as you drag the stylus around, do it yourself with your own EvtGetPen loop. Start this up on a TblEnterEvent, and if the pen is inside the row when it is released, generate a TblSelectEvent, just like the code it table.c does. In short, use tables but override some of the table logic to get the correct behavior. I'm sorry I don't have a more detailed answer. One other thought: there may very well be an application out there that has had to solve this problem, and whose source code is available. Perhaps a bit of time spent on this might be well rewarded. -- Peter Epstein -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
