Dim VSLVal As Integer
Dim HSLVal As Integer
Dim HMax As Integer
Dim VMax As Integer
Private Sub Form_Load()
On Error Resume Next
Dim Cntrl As Control
For Each Cntrl In Me.Controls
If (Not TypeOf Cntrl Is HScrollBar) And _
(Not TypeOf Cntrl Is VScrollBar) Then
If (Cntrl.Top + Cntrl.Height + 125) > VMax Then
VMax = Cntrl.Top + Cntrl.Height + 125
End If
If (Cntrl.Left + Cntrl.Width + 125) > HMax Then
HMax = Cntrl.Left + Cntrl.Width + 125
End If
End If
Next
On Error GoTo 0
With HS
.Left = 0
.Top = Me.ScaleHeight - .Height
SBar.Height = .Height
.Width = Me.ScaleWidth - VS.Width
.Max = HMax - .Width
If .Max < 0 Then .Max = 0
End With
With VS
.Height = Me.ScaleHeight - HS.Height
.Left = Me.ScaleWidth - .Width
.Top = 0
.Max = VMax - .Height
If .Max < 0 Then .Max = 0
End With
If HS.Max <= 0 Then HS.Enabled = False
If VS.Max <= 0 Then VS.Enabled = False
End Sub
Private Sub Form_Resize() 'complete
If Me.WindowState = 1 Then
Exit Sub
ElseIf Me.Height < 2525 Then
Me.Height = 2525
ElseIf Me.Width < 2525 Then
Me.Width = 2525
End If
With HS
.Left = 0
.Top = Me.ScaleHeight - .Height
.Width = Me.ScaleWidth - VS.Width
.Max = HMax - .Width
End With
With VS
.Height = Me.ScaleHeight - HS.Height
.Left = Me.ScaleWidth - .Width
.Top = 0
.Max = VMax - .Height
End With
If HS.Max <= 0 Then
HS.Enabled = False
HS.Max = 0
Else
HS.Enabled = True
End If
If VS.Max <= 0 Then
VS.Enabled = False
VS.Max = 0
Else
VS.Enabled = True
End If
End Sub
Private Sub HSPositionChanged() 'complete
On Error Resume Next
Dim Val As Integer, Cntrl As Control
Val = HSLVal - HS.Value
For Each Cntrl In Me.Controls
If TypeOf Cntrl Is HScrollBar Or _
TypeOf Cntrl Is VScrollBar Or _
TypeOf Cntrl Is Menu Then
ElseIf TypeOf Cntrl Is Line Then
Cntrl.X1 = Cntrl.X1 + Val
Cntrl.X2 = Cntrl.X2 + Val
Else
Cntrl.Left = Cntrl.Left + Val
End If
Next
HSLVal = HS.Value
End Sub
Private Sub VSPositionChanged() 'complete
On Error Resume Next
Dim Val As Integer, Cntrl As Control
Val = VSLVal - VS.Value
For Each Cntrl In Me.Controls
If TypeOf Cntrl Is HScrollBar Or _
TypeOf Cntrl Is VScrollBar Or _
TypeOf Cntrl Is Menu Then
ElseIf TypeOf Cntrl Is Line Then
Cntrl.Y1 = Cntrl.Y1 + Val
Cntrl.Y2 = Cntrl.Y2 + Val
Else
Cntrl.Top = Cntrl.Top + Val
End If
Next
VSLVal = VS.Value
End Sub
Public Sub resizescrolbars()
'VS.Value = 0
'HS.Value = 0
On Error Resume Next
Dim Cntrl As Control
For Each Cntrl In Me.Controls
If (Not TypeOf Cntrl Is HScrollBar) And _
(Not TypeOf Cntrl Is VScrollBar) Then
If (Cntrl.Top + Cntrl.Height + 125) > VMax Then
VMax = Cntrl.Top + Cntrl.Height + 125
End If
If (Cntrl.Left + Cntrl.Width + 125) > HMax Then
HMax = Cntrl.Left + Cntrl.Width + 125
End If
End If
Next
On Error GoTo 0
With HS
.Left = 0
.Top = Me.ScaleHeight - .Height
SBar.Height = .Height
.Width = Me.ScaleWidth - VS.Width
.Max = HMax - .Width
If .Max < 0 Then .Max = 0
End With
With VS
.Height = Me.ScaleHeight - HS.Height
.Left = Me.ScaleWidth - .Width
.Top = 0
.Max = VMax - .Height
If .Max < 0 Then .Max = 0
End With
If HS.Max <= 0 Then HS.Enabled = False
If VS.Max <= 0 Then VS.Enabled = False
If Me.WindowState = 1 Then
Exit Sub
ElseIf Me.Height < 2525 Then
Me.Height = 2525
ElseIf Me.Width < 2525 Then
Me.Width = 2525
End If
With HS
.Left = 0
.Top = Me.ScaleHeight - .Height
.Width = Me.ScaleWidth - VS.Width
.Max = HMax - .Width
End With
With VS
.Height = Me.ScaleHeight - HS.Height
.Left = Me.ScaleWidth - .Width
.Top = 0
.Max = VMax - .Height
End With
If HS.Max <= 0 Then
HS.Enabled = False
HS.Max = 0
Else
HS.Enabled = True
End If
If VS.Max <= 0 Then
VS.Enabled = False
VS.Max = 0
Else
VS.Enabled = True
End If
End Sub
Private Sub HS_Change() 'complete
HSPositionChanged
End Sub
Private Sub HS_Scroll() 'complete
HSPositionChanged
End Sub
Private Sub vs_Change() 'complete
VSPositionChanged
End Sub
Private Sub vs_Scroll() 'complete
VSPositionChanged
End Sub