在vb6中滚动嵌入式框架
scroll embedded frames in vb6
我正在尝试创建一个滚动区域。我通过创建一个框架来做到这一点,其中有另一个框架和一个滚动条。滚动条应上下移动内部框架。
但是,使用滚动条时,内框不会被滚动条移动,但外框会在窗体上移动。
对于滚动,我使用以下代码:
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中的内容,所以Me包含了表格,因此移动了外框。但我不知道如何获得内部框架。有没有办法获取控件包含的元素,或者我应该以不同的方式获取控件?
Me.Controls 包含窗体上的所有控件,即使它们包含在外部框架中。但是,每个控件都有一个 Container 属性。您可以检查它以确定外框包含的所有元素。
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
我正在尝试创建一个滚动区域。我通过创建一个框架来做到这一点,其中有另一个框架和一个滚动条。滚动条应上下移动内部框架。
但是,使用滚动条时,内框不会被滚动条移动,但外框会在窗体上移动。
对于滚动,我使用以下代码:
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中的内容,所以Me包含了表格,因此移动了外框。但我不知道如何获得内部框架。有没有办法获取控件包含的元素,或者我应该以不同的方式获取控件?
Me.Controls 包含窗体上的所有控件,即使它们包含在外部框架中。但是,每个控件都有一个 Container 属性。您可以检查它以确定外框包含的所有元素。
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