Alguien me puede ayudar con las lineas sgtes dado que segun la ayuda del VB puedo hacer, dentro de un formulario, un picturebox desplazable dentro de otro picturebox pero el mismo no funciona.
Cual es el error que cometo? como tienen que estar seleccionadas las opciones autoredraw, autosize, de cada uno de los controles?????
El evento Form_Load del formulario se utiliza para establecer el modo de escala, ajustar el tamaño del cuadro de imagen secundario dentro del cuadro de imagen primario, colocar y ajustar el tamaño de las barras de desplazamiento horizontal y vertical y, después, cargar un gráfico de mapa de bits. Agregue el código siguiente al procedimiento de evento Form_Load del formulario:
Private Sub Form_Load()
' Establece ScaleMode a píxeles.
Form1.ScaleMode = vbPixels
Picture1.ScaleMode = vbPixels
' Autosize se establece a True para que los bordes
' de Picture2 se ' expandan al tamaño del
' mapa de bits real.
Picture2.AutoSize = True
' Establece el BorderStyle de cada cuadro ' de imagen a Ninguno.
Picture1.BorderStyle = 0
Picture2.BorderStyle = 0
' Carga el mapa de bits.
Picture2.Picture = _
LoadPicture("c:WindowsWinlogo.bmp")
' Inicializa la ubicación de ambas imágenes.
Picture1.Move 0, 0, ScaleWidth - VScroll1.Width, _
ScaleHeight - HScroll1.Height
Picture2.Move 0, 0
' Coloca la barra de desplazamiento horizontal.
HScroll1.Top = Picture1.Height
HScroll1.Left = 0
HScroll1.Width = Picture1.Width
' Coloca la barra de desplazamiento vertical.
VScroll1.Top = 0
VScroll1.Left = Picture1.Width
VScroll1.Height = Picture1.Height
' Establece la propiedad Max de las ' barras de desplazamiento.
HScroll1.Max = Picture2.Width - Picture1.Width
VScroll1.Max = Picture2.Height - Picture1.Height
' Determina si la imagen secundaria cabe en la
' pantalla.
Si es así, no son necesarias las ' barras de desplazamiento.
VScroll1.Visible = (Picture1.Height < _
Picture2.Height)
HScroll1.Visible = (Picture1.Width < _
Picture2.Width)
End Sub
El evento Change de los controles HScrollBar y VScrollBar se utiliza para mover el cuadro de imagen secundario de arriba abajo y de izquierda a derecha dentro del cuadro de imagen primario. Agregue el código siguiente al evento Change de ambos controles ScrollBar:
Private Sub HScroll1_Change()
Picture2.Left = -HScroll1.Valor
End Sub
Private Sub VScroll1_Change()
Picture2.Top = -VScroll1.Valor
End Sub
Las propiedades Left y Top del cuadro de imagen secundario se establecen al valor negativo de las barras de desplazamiento horizontal y vertical para que al desplazarse de arriba a abajo y de izquierda a derecha, la vista se mueva correctamente.
Cambiar el tamaño del formulario en tiempo de ejecución
En el ejemplo anterior, el tamaño visible del gráfico está limitado por el tamaño original del formulario. Para cambiar el tamaño de la aplicación de vista de gráficos cuando el usuario ajuste el tamaño del formulario en tiempo de ejecución, agregue el código siguiente al procedimiento de evento Form_Resize del formulario:
Private Sub Form_Resize()
' Cuando cambia el tamaño del formulario, cambian
' las dimensiones de Picture1.
Picture1.Height = Form1.Height
Picture1.Width = Form1.Width
' Reinicializa la posición de la imagen y de las
' barras de desplazamiento.
Picture1.Move 0, 0, ScaleWidth - VScroll1.Width, _
ScaleHeight - HScroll1.Height
Picture2.Move 0, 0
HScroll1.Top = Picture1.Height
HScroll1.Left = 0
HScroll1.Width = Picture1.Width
VScroll1.Top = 0
VScroll1.Left = Picture1.Width
VScroll1.Height = Picture1.Height
HScroll1.Max = Picture2.Width - Picture1.Width
VScroll1.Max = Picture2.Height - Picture1.Width
' Comprueba si son necesarias las ' barras de desplazamiento.
VScroll1.Visible = (Picture1.Height < _
Picture2.Height)
HScroll1.Visible = (Picture1.Width < _
Picture2.Width)
End Sub
MUCHISIMAS GRACIAS POR LA AYUDA