Foros del Web » Programación para mayores de 30 ;) » Programación General »

¿Recentrar form a la pantalla despues de cambiar tamaño?

Estas en el tema de ¿Recentrar form a la pantalla despues de cambiar tamaño? en el foro de Programación General en Foros del Web. Estoy en Visual Basic 6. Como propiedad del form le marco StartUpPosition=CenterScreen. Lo que hace que la aplicacion aparezca centrada. Pero tengo un boton que ...
  #1 (permalink)  
Antiguo 15/06/2004, 05:35
 
Fecha de Ingreso: enero-2004
Mensajes: 58
Antigüedad: 20 años, 10 meses
Puntos: 0
¿Recentrar form a la pantalla despues de cambiar tamaño?

Estoy en Visual Basic 6.
Como propiedad del form le marco StartUpPosition=CenterScreen.

Lo que hace que la aplicacion aparezca centrada.

Pero tengo un boton que me abre una parte de detalles, aumentando el tamaño (Height) del lienzo, quedando descentrado como es de esperar.

¿Como hago para que cuando pulse el boton de mostrar detalles, aparte de ampliarme el lienzo, me lo recentre a la pantalla?

SALU2 y gracias por adelantado.
  #2 (permalink)  
Antiguo 15/06/2004, 08:22
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 9 meses
Puntos: 8
Probablemente puedas solucionarlo con el objeto screen, que te ofrece dos útiles propiedades:
screen.width
screen.height

Podrías hacerte una función del tipo
Código:
sub centraForm (byval cual as form)
   cual.left=(screen.width-cual.width)/2
   cual.top=(screen.height-cual.height)/2
end sub
__________________
Kelpie
  #3 (permalink)  
Antiguo 16/06/2004, 02:19
 
Fecha de Ingreso: enero-2004
Mensajes: 58
Antigüedad: 20 años, 10 meses
Puntos: 0
uf, no lo pillo, aqui pongo el codigo de cuando amplio/reduzco la pantalla cada vez que pulso en "Detalles":

Private Sub Detalles_Click()
If (Form1.Height = 6120) Then
Form1.Height = 9360
'Centrar
Else
Form1.Height = 6120
'Centrar
End If
End Sub

Donde e colocado Centrar, es donde deberia llamar a la funcion.
SALU2.
  #4 (permalink)  
Antiguo 16/06/2004, 02:36
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Private Sub Detalles_Click()
If (Form1.Height = 6120) Then
Form1.Height = 9360
Else
Form1.Height = 6120
End If
centraForm Form1
End Sub
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 16/06/2004, 02:42
 
Fecha de Ingreso: enero-2004
Mensajes: 58
Antigüedad: 20 años, 10 meses
Puntos: 0
Impresionante
To el fallo que me daba era por los parentesis en centrarForm (Form1)
Toy mal acostumbrado al c y php...

Por cierto, sabeis de algun manual para hacer lo basico de un programa, abrir, copiar y grabar ficheros?
No me refiero a las opciones de menu y un common control, sino el codigo para los eventos Click, dblclik, drag, etc...

SALU2.

Última edición por DARK_OZMA; 16/06/2004 a las 02:49
  #6 (permalink)  
Antiguo 16/06/2004, 02:43
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Jejeje, VB es así :)

Para poder llamar la función y no tomar el valor de retorno hay que sacar los parentesis ... cosas raras eh. Jaja.


PD. Si sabes C dejá VB, no vale la pena.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #7 (permalink)  
Antiguo 16/06/2004, 08:32
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 9 meses
Puntos: 8
Hazle caso a Eternal y deja VB, Solo te va a dar dolores de cabeza...
__________________
Kelpie
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:23.