At 08:20 AM 5/25/2000, Yu, Ken wrote:
>      My app has a table with a custom draw procedure with an increased
>row height.  On OS's earlier than 3.5, this draw procedure does not get
>called when the a tblEnterEvent is received but is called on 3.5.  When the
>procedure is executed during tblEnterEvent, the row height passed is 11.
>This is incorrect since the height was increased to 24.  However, 24 is
>correctly passed when the table is drawn normally (not when user enters the
>row).

Before 3.5, the table didn't have to worry about color, so it could highlight and 
un-highlight the item simply by inverting a portion of the screen. In 3.5, the 
selection effect is no longer a simple invert, so this is no longer possible. The way 
it highlights an item is by mapping the de-selected colors in the area to 
corresponding selected colors. Because this operation isn't guaranteed to be 
reversible, it re-draws the item when it needs to de-select it. In your case, that 
means calling your custom draw procedure. So, your custom draw procedure is called 
more often than before.

I'm not sure I understand when you're increasing the row height. Is it in your custom 
draw procedure? Are you calling TblSetRowHeight to do this? Are you invalidating the 
affected row and all rows below it by calling TblMarkRowInvalid?

>      I draw a frame around my rows.  On OS 3.5, when a row is entered,
>the frame is redrawn incorrectly since the rectangular bounds is different.
>
>      Any ideas on how I should work around this? (Maybe I'll just hard
>code the boundary dimensions)

I think you may need to move some code around, but you should be able to get this to 
work without hard coding the boundaries.
--
Peter Epstein
Palm Inc. Developer


-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to