Resumen Manejo de las Barras de desplazamiento en un formulario MDI.

Para poner Scrolls a 0 (esquina superior izquierda )
     HScroll1.Value = 0
     VScroll1.Value = 0
Esto funciona con los controles HScroll y VScroll1. No ocurre lo mismo con las barras automáticas. En este caso debes usar la API SetScrollPos, que establece la posición de la caja de desplazamiento del Scroll. Como no viene explicada en el libro de Appleman, te doy los datos para VB:

Declare Function SetScrollPos Lib "user32" (ByVal hwnd As Long, ByVal nBar As
Long, ByVal nPos As Long, ByVal bRedraw As Long) As Long

Const SB_HORZ = 0
Const SB_VERT = 1

Parámetros :
-hWnd : manipulador de la Ventana que tiene el Scroll
-nBar : Indicador de Scrooll a establecer, SB_HORZ (horizontal) o SB_VERT (vertical)
-nPos : Nueva posición del Scroll
-bRedraw : Indicador de redibujo, True para redibujar, False para no redibujar

Establecer posiciones suele funcionar bien en barras automáticas, lo que no se puede hacer es establecer rangos, que son evidentemente automáticos.

Sobre la otra pregunta: Los valores negativos son para que los formularios se muevan en sentido contrario a las barras de desplazamiento, de otra manera se moverían en el mismo sentido que la barra. La propiedad Top toma como referencia el borde del formulario principal para el valor 0, si el contenido se oculta por arriba la distancia será negativa y si se desplaza hacía abajo positiva. Con la propiedad Left ocurre igual referido al borde izquierdo.

Santiago Jimeno (Madrid)
SJIMENOH28@smail1.ocenf.org

-----Mensaje original-----
De: Cablinski <cablinsk@internet.siscotel.com>
Para: visualbasic-esp@egroups.com <visualbasic-esp@egroups.com>
Fecha: jueves 3 de junio de 1999 11:31 a.m.
Asunto: vb-esp : Manejo de las Barras de desplazamiento en un formulario
MDI.


Buenas Noches:

Les envio este mensaje porque he decidido cambiar una aplicacion SDi que tenia por MDI y me encuentro con dos problemas.
El primero es que a medida que voy mostrando ventanas me aparecen las barras de desplazamiento en el fomulario principal y no se como hacer para posicianarme muevamente en la esquina superior izquierda del formulario principal. Es decir desplazar las barra horizontal hacia la izquierda y la vertical hacia arriba.
El segundo se produce con referencia a las propiedades top y left de los formularios child que tengo. Cada vez que hago un show desde un formulario defino las propiedades top y left del formulario a mostrar a partir de las que tienen el formulario en que estoy parado para simular un efecto de cascada. El asunto es que cuando me aparecen las benditas barras de desplazamiento en el formulario principal y me muevo esas propiedades comienzan a dar valores negativos y no se como interpretarlas. En teoria y segun la ayuda top y left son distancias y si mal no me enseñaron en matematica la distancia es siempre positiva.
Cuestion que no entiendo porque toma valores negativos.
Este detalle hace que se pierda la cascada porque el nuevo formulario aparece arriba y mas a la izquierda del anterior.

Desde ya muchas gracias por sus comentarios.

Saludos

Pablo Cablinski
mailto:cablinsk@internet.siscotel.com



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com