Listbox Design Challenge

looks good. really good.

that is always a challenge.

Why can’t you put the whole lot in a container with a scroll bar and scroll the canvas and list box together.

Even thought the OP has said he’s not going down this route, he could still use a canvas ( size it to the correct size ) and then use a scrollbar to ‘move’ it’s top position. This would work x-plat, but of course wouldn’t be a true scrollview.

As soon as I saw this challenge I thought as long as having a scrollbar is acceptable (could be auto hidden if required I suppose) then I’d just hook up the MouseWheel events on the Listbox and Canvas to the ScrollBar and move the canvas off the top and stretch the listbox.

Seemed like a fun little exercise to close out a Friday afternoon, so just had to quickly knock up a test project.

The controls are directly on a window in the test project, but could of course be put in a container for better re-use.

Needs a little work to adjust the listbox scroll position if the window height is changed as it leaves a bit much white space at the bottom of the scroll, but otherwise seems to work well.

Friday …. man I feel so far behind :slight_smile:

Late to comment (I’ve been asleep) to Norman’s post from a while back: FreezeUpdates is all well and good (it does what it says: freezes the display for visual update) but it also makes it transparent to clicks. So…

It’s utterly infuriating but there’s no way round it.

@Ian Jones Wow. You da man! Thanks for the test project. That works far better than I expected. Smooth as silk and flicker free on both Mac and Windows XP even with 20,000 rows. Sweet!

If you ever want to plant a trojan on my machine, just make me a test project! I’ll run your code, no questions asked! :wink:

@Hamish Symington Too bad Freezeupdates has such a bad side effect! That makes it only usable for super quick UI updates and even then…

@Scott Boss Thanks! I’m really excited about this one. I’m hoping it will be a great showcase for Xojo. Working with a fab designer.

[quote=116567:@Hamish Symington]Late to comment (I’ve been asleep) to Norman’s post from a while back: FreezeUpdates is all well and good (it does what it says: freezes the display for visual update) but it also makes it transparent to clicks. So…

It’s utterly infuriating but there’s no way round it.[/quote]

Its intended for fast updates - anything longer will make life … heck :stuck_out_tongue:

I have nothing to add that hasn’t been discussed, other than to say your UI and listbox design is very nice!