Red de conocimiento del abogados - Ley de patentes - El problema de la aparición y ocultación automática de la barra deslizante de la ventana VB

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>

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