|Home » Technical Support » Elevate Web Builder Technical Support » Support Forums » Elevate Web Builder General » View Thread|
|Messages 1 to 10 of 12 total|
|Wed, Apr 27 2016 7:01 AM||Permanent Link|
Is there a general purpose scroll bar component?
I am thinking I need to make my big list a virtual display, but I would
need a generic scroll bar to be able to make that happen. Or is there a
panel which has a "controllable" scroll bar with events?
|Wed, Apr 27 2016 7:13 AM||Permanent Link|
There is, in the source, a TScrollBar and a TControlScrollBar, that
look like they would fit the bill perfectly. However I can't work out
how anything would find out that something had changed (no events) nor
how I'd make it accessible separately.
Tim, is this something that is possible to do? I can see there is a lot
of work in this, and I'd rather not have to copy it all.
|Wed, Apr 27 2016 8:15 AM||Permanent Link|
Matthew Jones wrote:
> make it accessible separately.
xScroll : TScrollbar;
xScroll := TScrollbar.Create(pnlScroll);
xScroll.StepSize := 1;
xScroll.PageSize := 10;
xScroll.ContentSize := 140;
xScroll.Position := 70;
This seems to work as a scroll bar, put on a TPanel. The notification
appears to be to the client area though, so I'd have to poll for that.
|Wed, Apr 27 2016 8:41 AM||Permanent Link|
"Matthew Jones" wrote:
// Is there a general purpose scroll bar component?
I use TScrollPanel as a scrollable container. It's some kind of TScrollBox we know from Delphi.
|Wed, Apr 27 2016 8:44 AM||Permanent Link|
Matthew Jones wrote:
> so I'd have to poll for that.
This works, but the thumb scroll doesn't update the Position - it calls
SetToPos which is virtual, and used to set the scroll position for a
control, but doesn't do anything in the base class. It would need to be
exposed for that. But certainly looks like a derived class is quite
|Wed, Apr 27 2016 8:46 AM||Permanent Link|
Michael Dreher wrote:
> I use TScrollPanel as a scrollable container.
Indeed, that is what I have at the moment, but the complexity of the
contents is going to be too much for keeping speed (not due to EWB, but
the browser generally). Creating what must be a few thousand child
components in the browser is not fast (150 forms, each with about 20
edits or labels, and some code to set them up). Best case at the moment
is 30 seconds, and they are only going to get more complex. I will be
playing with virtual now...
|Wed, Apr 27 2016 9:24 AM||Permanent Link|
I'd like to see your project with 150 forms and a few thousand child
|Wed, Apr 27 2016 9:34 AM||Permanent Link|
Uli Becker wrote:
> I'd like to see your project with 150 forms and a few thousand child
It will be a commercial application soon, so you'll be able to! 8-)
The key is that each form is the editor for an item, and a "project"
can have hundreds of items. Thus 150 forms to be created, each with
edit boxes and labels. In total, a thousand or so objects. Once
created, it all works really well, but that initial wait needs to be
resolved. Virtualising seems to be very fast, and also works async, so
that may be my answer. Then only about 25 forms needed to edit all 150
items. The complication is that the child forms can change in height...
|Wed, Apr 27 2016 12:34 PM||Permanent Link|
Tim Young [Elevate Software]
Elevate Software, Inc.
<< Tim, is this something that is possible to do? I can see there is a lot of work in this, and I'd rather not have to copy it all. >>
Check out the TGrid control - it uses a custom scrollbar to implement the virtual grid in EWB. The same is true for the TListBox control, which may be closer to what you're trying to do in terms of just a list of items.
I'm planning on virtualizing the TListBox further to allow for more complex list items, but don't have a timeframe for that yet.
|Thu, Apr 28 2016 3:58 AM||Permanent Link|
Tim Young [Elevate Software] wrote:
> The same is true for the TListBox control, which may be closer to
> what you're trying to do in terms of just a list of items.
Indeed - I will review. Thank you.
|Page 1 of 2||Next Page »|
|Jump to Page: 1 2|