El problema de la aparición y ocultación automática de la barra deslizante de la ventana VB
Debería estar mejor después de cambiarlo. El significado del código del cuerpo es difícil de expresar con palabras. Puede estudiarlo usted mismo en función de las propiedades y métodos del control.
VScroll1.Visible es la visibilidad de VScroll1, =False significa que es invisible y viceversa.
HScroll1.Value es el valor de HScroll1, es decir, donde está su barra de desplazamiento.
VScroll1.Move es mover la posición de VScroll1.
Me.ScaleWidth es el ancho del formulario donde se muestra el control, que es el ancho excluyendo el borde.
Alto
Ancho
Izquierda, Arriba, ya los conoces.
Sub privado Form_Load()
VScroll1.Visible = False
HScroll1.Visible = False
End Sub
Private Sub Form_Resize()
Atenuar H como entero
Atenuar W como entero
Para I = 0 a 2
Si (Picture1.Height gt; (Me.ScaleHeight - W)) Entonces H = VScroll1.Width
Si (Picture1.Width gt; (Me.ScaleWidth - H)) Entonces W = HScroll1.Height p> p>
Siguiente I
Si (Picture1.Height gt; (Me.ScaleHeight - W)) Entonces
VScroll1.Visible = True
Si (Picture1.Width gt; (Me.ScaleWidth - H)) Entonces
VScroll1.Max = Picture1.Height - Me.ScaleHeight HScroll1.Height
VScroll1.Move Me. ScaleWidth - VScroll1.Width, 0, VScroll1.Width, Me.ScaleHeight - HScaleHeight
Else
VScroll1.Max = Imagen1.Height - Me.ScaleHeight
VScroll1.Move Me.ScaleWidth - VScroll1.Width, 0, VScroll1.Width, Me.ScaleHeight
End If
VScroll1.Value = -Picture1.Top
Else
VScroll1.Visible = False
Imagen1.Top = 0
Finalizar si
Si (Imagen1.Ancho gt; ( Me.ScaleWidth - H)) Entonces
HScroll1.Visible = True
If (Picture1.Height gt; (Me.ScaleHeight - W)) Entonces
HScroll1.Max = Imagen1.Ancho - Me.ScaleWidth VScroll1.Width
HScroll1.Move 0, Me.ScaleHeight - HScroll1.Height, Me.ScaleWidth - VScroll1.Width
De lo contrario
HScroll1.Max = Imagen1.Ancho - Me.ScaleWidth
HScroll1.Move 0, Me.ScaleHeight - HScroll1.Height, Me.Sca
leWidth
End If
HScroll1.Value = -Picture1.Left
Else
HScroll1.Visible = False
Imagen1.Left = 0
Finalizar si
Fin Sub
Sub privado HScroll1_Change()
Imagen1.Left = -HScroll1 .Value 'Cambiar la posición de Imagen1 según el valor de hScroll1
End Sub
Private Sub VScroll1_Change()
Imagen1.Top = -VScroll1.Value
Fin del subtítulo