ScrollBar Linking/Synching.

R

Rawce

All,

I'm currently having trouble trying to link two scrollbars that are
part of different frames on the same multitab of a form. Basically,
when one scrolls up/down, I want the other one to scroll up/down
accordingly (and for this to be invisible to the user).

My main problem is probably not being able to access any of the
properties of the scrollbars themselves. I've tried capturing the
ScrollBar1_Change event, but nothing happens. I've tried the following
code to at least loop through them all so I have some names to work
off, but it doesn't like the For Each line (object doesn't support this
property or method error):

Sub ScrollFinder()

Dim myScroll As ScrollBar
For Each myScroll In WeightForm
MsgBox myScroll.Name
Next

End Sub

How do I access the scrollbars that are part of a frame? I've tried
working through the objects (e.g.
WeightForm.Tabs.AMTab.AMAppTab.AMAppFrame2.ScrollBar1.Name) but none of
it seems to work. Are there issues with programmatically changing
scrollbars that are part of a frame/multitab?

Many thanks for any help you can offer,

Ross.
 
N

NickHK

The fact that the scroll bars are on different pages and/or frames etc
should not make any difference :

Private Sub ScrollBar1_Change()
ScrollBar2.Value = ScrollBar1.Value
End Sub

Private Sub ScrollBar2_Change()
ScrollBar1.Value = ScrollBar2.Value
End Sub

Ensure you do not create an endless loop though, by continually changing
both vales.

NickHK
 
R

Rawce

Thanks. I tried ScrollBarX_Change() previously with no joy. However, I
believe that my problem may be related to using the frame's own
scrollbar (fmScrollBarVisible, etc. from the Properties window). What I
think I should probably do is add a separate scrollbar (added from the
toolbox) and use the _Change() to move the scroll height of the frame,
therefore not using the frame's own scrollbar at all. I can therefore
also move both frames using one dedicated scrollbar.

I'll let you know how I get on, but thanks for your help anyway; the
..Value will come in handy with all this.

Cheers,

Ross.
 
N

NickHK

OK, if you are using the frame's built in scroll bars, you need to play its
..ScrollHeight, .ScrollLeft, etc properties.
You have the FrameX_Scroll event to trigger your code.

NickHK
 
R

Rawce

Thanks for looking. Finally solved it using the method I mentioned
above (a separate scrollbar, linking the two frames by code within the
_Change event).

Cheers anyway,

Ross.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top