The "work-area" is bigger than the actual "view-area" of the window.
a simplified description of my "bad?" design computes positions for items in the work-area and updates the item's x,y variables. I want to select one item at random and scroll that portion of the work-area into view (if it is outside) but cannot do so because the x,y values are still zero's.
I'll try to do as you suggest and see if I can pre-compute the x,y's in another function
(if it doesn't work I'll still have my ugly hack above)
Another question: Why doesn't Sync() work as advertised: "Forces immediate repainting of areas marked using Refresh, RefreshFrame or ScrollView methods." - this would have done the trick nicely.