我在 VB 6 中的 Windows 应用程序有一个包含大量控件的窗体。如果客户端环境的屏幕尺寸较小,则大多数控件不会出现。 我想要做的是为用户提供一个垂直和水平滚动条,以便用户可以滚动所有控件。 有人知道如何实现这个吗?
附言请不要提供仅显示标签以显示滚动值的示例:)
最佳答案
我喜欢 David 的回答,但如果您想对滚动条执行此操作,首先,您需要将所有控件放入适合它们的框架中。您想要移动 1 个控件而不是“大量控件的 hell ”。其次将滚动条放入表单中,并在 Form_Resize 事件中添加一些代码以调整表单滚动条的大小。调整滚动条大小后,您需要做一些数学运算来设置 Max、SmallChange 和 LargeChange 属性。我正在展示 Min 属性只是为了让您知道它永远不会改变,只需在设计器中设置它即可。这个例子只使用了一个水平滚动条,因为我懒得也包含一个垂直滚动条。最后,将代码添加到滚动条 Change 事件以移动框架。
Private Sub Form_Resize()
HScroll1.Move 0, Me.ScaleHeight - HScroll1.Height, Me.ScaleWidth
HScroll1.Min = 0
HScroll1.Max = Frame1.Width - Me.ScaleWidth
HScroll1.SmallChange = HScroll1.Max / 100
HScroll1.LargeChange = HScroll1.Max / 10
End Sub
Private Sub HScroll1_Change()
Frame1.Left = -HScroll1.Value
DoEvents ' this is not strictly necessary, but smooths the scolling some
End Sub
您还需要错误处理代码。我是一个懒惰的示例编码器。
关于vb6 - 如何在 Visual Basic 6 中使用滚动条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13824730/