vb6中的滚动嵌入帧

vb6中的滚动嵌入帧,vb6,scrollbar,frame,Vb6,Scrollbar,Frame,我正在尝试创建一个滚动区域。我通过创建一个框架来实现这一点,其中有另一个框架和一个滚动条。滚动条应上下移动内部框架 但是,使用滚动条时,内部帧不会被滚动条移动,而外部帧会在窗体上移动 对于滚动,我使用以下代码: Private Sub scrollFrame() Dim ctl As Control Dim myFrame As Frame For Each ctl In Me.Controls If (TypeOf ctl Is Frame) Then ctl.Top = ct

我正在尝试创建一个滚动区域。我通过创建一个框架来实现这一点,其中有另一个框架和一个滚动条。滚动条应上下移动内部框架

但是,使用滚动条时,内部帧不会被滚动条移动,而外部帧会在窗体上移动

对于滚动,我使用以下代码:

Private Sub scrollFrame()
Dim ctl As Control
Dim myFrame As Frame

For Each ctl In Me.Controls

  If (TypeOf ctl Is Frame) Then
    ctl.Top = ctl.Top + oldPos - VScroll1.Value
  End If

Next

oldPos = VScroll1.Value
End Sub

我已经检查了我的内在,所以我包含了形式,因此外部框架被移动。但我不知道怎样才能得到内部框架。有没有办法获取控件包含的元素,或者我应该以不同的方式获取控件

Me.Controls包含窗体上的所有控件,即使它们包含在外部框架中。但是,每个控件都有一个容器属性。可以对此进行检查以确定外部框架包含的所有元素

   For Each ctl In Me.Controls
      If (TypeOf ctl Is Frame And ctl.Container.Name = "Frame1") Then
         ctl.Top = ctl.Top + oldPos - VScroll1.Value
      End If
   Next

Me
在这里对您帮助不大,因为
Controls
已经在表单模块代码的当前名称空间中。我不知道你为什么经常看到人们做这种事。如果您在那里使用它,为什么不使用
Me.VScroll1
Me?