Visual Basic - Cómo controlar la posicion inicial de Forms hijos

Life is soft - evento anual de software empresarial
 
Vista:

Cómo controlar la posicion inicial de Forms hijos

Publicado por Santiago (1 intervención) el 20/02/2003 08:44:25
Hola. Estoy depurando una aplicacion VB6 y se me ha presentado el siguiente problema: Tengo un MDI en el que el usuario puede abrir una o varias ventanas-hijo. Pues bien resulta que las posiciones iniciales de las ventanas corresponde a las que ocuparían si se ordenasen en 'cascada'. Esto ocurre aunque se cierren todas las ventanas y se vuelvan a abrir, de tal manera que llega un momento en el que las ventanas aparecen tan abajo y tan a la derecha que se salen de la pantalla. El compilador no me deja usar la propiedad 'StartUpPosition' (creo que es por tratarse de ventanas MDI-Child). En fin ¿alguien sabe cómo se controla esto?
Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cómo controlar la posicion inicial de Forms hijos

Publicado por J2ML (464 intervenciones) el 20/02/2003 12:48:56
Bueno es verdad para un form hijo la colocación inicial del mismo no es configurable en la propiedad startupposition, pero puedes en la rutina ativate del formualrio hijo posicionarlo...
Private Sub Form_Activate()
Me.left=100
Me.top=100
End sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cómo controlar la posicion inicial de Forms hij

Publicado por Santiago (1 intervención) el 20/02/2003 15:47:03
Muchas gracias. Me gustaría que salieran centrados. Así que echaré cuentas tomando la achura y altura del MDI y de la ventana-hija y se lo asignaré como me sugieres.
Gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cómo controlar la posicion inicial de Forms hij

Publicado por J2ML (464 intervenciones) el 20/02/2003 20:14:43
Prueba con:
Private sub Form_Activate()
me.width =1000 'Fijas el ancho
me.Heigth =1000 'Fijas el alto
me.left = abs(mdiform1.scalewidth-me.width) 'Centrado Horizontal
me.top = abs(mdiform1.scaleheight-me.height) 'Centrado Vertical
End Sub

Espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Centrado automático

Publicado por Comunidad de Desarrolladores (42 intervenciones) el 21/02/2003 08:37:31
Colócalo en el form_load, para que la ventana al aparecer ya esté centrada o incluso desde donde llamas a la ventana

formahija.left = (formamadre.scalewidth/2)-(formahija.width)
formahija.top= (formamadre.scaleheigth/2)-(formahija.heigth)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar