Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Centrar Un Formulario Nuevo Respecto Al Formulario Anterior [SOLUCIONADO]

Centrar Un Formulario Nuevo Respecto Al Formulario Anterior [SOLUCIONADO]
Artículo
Responder citando    Descargar mensaje  
Mensaje Centrar Un Formulario Nuevo Respecto Al Formulario Anterior [SOLUCIONADO] 
 
Hola a todos.
Cuando, por ejemplo, al dar clic en un botón abrimos un segundo formulario ¿Como se logra que este quede centrado respecto a su antecesor?
Dejo un ejemplo por si alguien desea hacer algunas pruebas.
Saludos.

ejemplo-form-centrado-0.0.2.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-form-centrado-0.0.2.tar.gz
Tamaño: 11.9 KB
Descargado: 30 veces
ejemplo-form-centrado-0.0.2.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-form-centrado-0.0.2.tar.gz
Tamaño: 11.9 KB
Descargado: 30 veces
ejemplo-form-centrado-0.0.2.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-form-centrado-0.0.2.tar.gz
Tamaño: 11.9 KB
Descargado: 30 veces
ejemplo-form-centrado-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-form-centrado-0.0.1.tar.gz
Tamaño: 11.77 KB
Descargado: 38 veces
ejemplo-form-centrado-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-form-centrado-0.0.1.tar.gz
Tamaño: 11.77 KB
Descargado: 38 veces
ejemplo-form-centrado-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-form-centrado-0.0.1.tar.gz
Tamaño: 11.77 KB
Descargado: 38 veces




 
última edición por tincho el Domingo, 29 Septiembre 2019, 10:00; editado 1 vez 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Viernes, 27 Septiembre 2019, 08:57 ]
 


Centrar Un Formulario Nuevo Respecto Al Formulario Anterior [SOLUCIONADO]
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Centrar Un Formulario Nuevo Respecto Al Formulario Anterior 
 
tincho escribió: [Ver mensaje]
Hola a todos.
Cuando, por ejemplo, al dar clic en un botón abrimos un segundo formulario ¿Como se logra que este quede centrado respecto a su antecesor?
Dejo un ejemplo por si alguien desea hacer algunas pruebas.
Saludos.


Esto te pone el formulario en el centro de la pantalla no del formulario padre

   Form1.Left = (Screen.Width - Form1.width) / 2
   Form1.top = (Screen.Height - Form1.height) / 2

Saludos.



 
última edición por gambafeliz el Viernes, 27 Septiembre 2019, 11:15; editado 1 vez 
gambafeliz - Ver perfil del usuario Enviar mensaje privado  
gambafeliz [ Viernes, 27 Septiembre 2019, 10:51 ]
Responder citando    Descargar mensaje  
Mensaje Re: Centrar Un Formulario Nuevo Respecto Al Formulario Anterior 
 
Buenas...

Hace tiempo que no ando por aca...

Yo uso esto que es mas general...

Public Sub Centrar(Quien As Form, Donde As Form)
  
  Quien.Move(Donde.ScreenX - Quien.W / 2 + Donde.w / 2, Donde.ScreenY - Quien.H / 2 + Donde.H / 2)
  
End


... si sirve...

Abarazo....



 
whisper - Ver perfil del usuario Enviar mensaje privado  
whisper [ Viernes, 27 Septiembre 2019, 13:30 ]
Responder citando    Descargar mensaje  
Mensaje Re: Centrar Un Formulario Nuevo Respecto Al Formulario Anterior 
 
whisper escribió: [Ver mensaje]
Buenas...

Hace tiempo que no ando por aca...

Yo uso esto que es mas general...

Public Sub Centrar(Quien As Form, Donde As Form)
  
  Quien.Move(Donde.ScreenX - Quien.W / 2 + Donde.w / 2, Donde.ScreenY - Quien.H / 2 + Donde.H / 2)
  
End


... si sirve...

Abarazo....


Por si no ha quedado claro.

Este código centra el segundo formulario con relación al principal o padre. Whisper me gusta mucho y funciona muy muy bien.

Gracias, whisper



 
gambafeliz - Ver perfil del usuario Enviar mensaje privado  
gambafeliz [ Viernes, 27 Septiembre 2019, 16:20 ]
Responder citando    Descargar mensaje  
Mensaje Re: Centrar Un Formulario Nuevo Respecto Al Formulario Anterior 
 
whisper escribió: [Ver mensaje]
Buenas...
Hace tiempo que no ando por aca...
Yo uso esto que es mas general...

Que tal, si hace tiempo que no te leiamos por acá, me alegro que vuelvas.
Respecto al código que pasaste, lo probe pero no parece funcionar. tal vez sea porque en showmodal no se hace caso a .Move o porque algo no estoy haciendo bien.
Te invito a que modifiques el ejemplo que deje al comienzo del hilo (si tenés ganas.)
Saludos.



 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Sabado, 28 Septiembre 2019, 18:43 ]
Responder citando    Descargar mensaje  
Mensaje Re: Centrar Un Formulario Nuevo Respecto Al Formulario Anterior 
 
tincho escribió: [Ver mensaje]
whisper escribió: [Ver mensaje]
Buenas...
Hace tiempo que no ando por aca...
Yo uso esto que es mas general...

Que tal, si hace tiempo que no te leiamos por acá, me alegro que vuelvas.
Respecto al código que pasaste, lo probe pero no parece funcionar. tal vez sea porque en showmodal no se hace caso a .Move o porque algo no estoy haciendo bien.
Te invito a que modifiques el ejemplo que deje al comienzo del hilo (si tenés ganas.)
Saludos.


Hola, tincho

Yo acabo de probar el código de whisper y si funciona. Te voy a contar como lo puede hacer.

En el formulario FNext en su evento Open(), pones esto:

centraFormularioEnFormulario(Me, FMain) 'así lo he llamado yo, pero whisper le ha llamado Centrar

Y esto llama a la subrutina que whisper te ha dado y va perfecto.

Saludos.



 
gambafeliz - Ver perfil del usuario Enviar mensaje privado  
gambafeliz [ Sabado, 28 Septiembre 2019, 18:57 ]
Responder citando    Descargar mensaje  
Mensaje Re: Centrar Un Formulario Nuevo Respecto Al Formulario Anterior [SOLUCIONADO] 
 
Tema solucionado
Finalmente simplifique un poco el código de Whisper, que era mas general, para el caso particular de un formulario que se abre a partir del principal.
Al algoritmo de centrado le resto unos 32 pixeles de altura, pues es lo que en mi sistema mide mas  o menos el borde de la ventana.
Gracias Whisper y Gambafeliz.
Saludos.



 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Domingo, 29 Septiembre 2019, 10:05 ]
Responder citando    Descargar mensaje  
Mensaje Re: Centrar Un Formulario Nuevo Respecto Al Formulario Anterior [SOLUCIONADO] 
 
tincho escribió: [Ver mensaje]
Tema solucionado
Finalmente simplifique un poco el código de Whisper, que era mas general, para el caso particular de un formulario que se abre a partir del principal.
Al algoritmo de centrado le resto unos 32 pixeles de altura, pues es lo que en mi sistema mide mas  o menos el borde de la ventana.
Gracias Whisper y Gambafeliz.
Saludos.


Joder tincho que complicado haces lo fácil.

Es una mera expresión mía, seguramente tu sabes por que has hecho el código así y verás toda su lógica. Pero he tenido que mirarlo dos veces para ver que al final hace lo mismo pero con una corrección de 32 pixel de altura. Que parece que lo deja mejor pero yo eso mismo se lo he puesto al código de whisper, el -32 y el resultado es el mismo.

-Oye tincho no se me ofenda por el comentario, vale, es que yo soy demasiado directo. Y no todo el mundo me entiende. Pero que sepas que te aprecio y yo lo hago de buen rollo-

Saludos.



 
gambafeliz - Ver perfil del usuario Enviar mensaje privado  
gambafeliz [ Domingo, 29 Septiembre 2019, 12:08 ]
Responder citando    Descargar mensaje  
Mensaje Re: Centrar Un Formulario Nuevo Respecto Al Formulario Anterior [SOLUCIONADO] 
 
[quote user="gambafeliz" post="46624"]
tincho escribió: [Ver mensaje]
Joder tincho que complicado haces lo fácil.
Es una mera expresión mía, seguramente tu sabes por que has hecho el código así y verás toda su lógica. Pero he tenido que mirarlo dos veces para ver que al final hace lo mismo pero con una corrección de 32 pixel de altura. Que parece que lo deja mejor pero yo eso mismo se lo he puesto al código de whisper, el -32 y el resultado es el mismo.
-Oye tincho no se me ofenda por el comentario, vale, es que yo soy demasiado directo. Y no todo el mundo me entiende. Pero que sepas que te aprecio y yo lo hago de buen rollo-
Saludos.

Si por supuesto que hace lo mismo que el código de Whisper, de hecho solo le cambie el nombre de las variables y prescindí de una de ellas.
Lo que sucede es que este método necesitaba implementarlo en un caso mas complejo que es instanciando el formulario en otro programa.
Por lo cual, como tal vez algún día esto lo usen mas personas, también pongo los nombres de las variables en inglés.
Estoy haciendo un componente de formularios típicos, como Acerca de... y Configuración pero el paso del formulario principal no lo podía hacer con su nombre ya que este cambiara seguramente de pendiendo del programa que use el componente.
Saludos.



 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Domingo, 29 Septiembre 2019, 12:44 ]
Responder citando    Descargar mensaje  
Mensaje Re: Centrar Un Formulario Nuevo Respecto Al Formulario Anterior [SOLUCIONADO] 
 
tincho escribió: [Ver mensaje]

Si por supuesto que hace lo mismo que el código de Whisper, de hecho solo le cambie el nombre de las variables y prescindí de una de ellas.
Lo que sucede es que este método necesitaba implementarlo en un caso mas complejo que es instanciando el formulario en otro programa.
Por lo cual, como tal vez algún día esto lo usen mas personas, también pongo los nombres de las variables en inglés.
Estoy haciendo un componente de formularios típicos, como Acerca de... y Configuración pero el paso del formulario principal no lo podía hacer con su nombre ya que este cambiara seguramente de pendiendo del programa que use el componente.
Saludos.


Aaaahhhh ok

Esta guay

Tu ves menos mal que me has comprendido, supongo, ya me precipité. Gracias por la info.

Saludos.



 
gambafeliz - Ver perfil del usuario Enviar mensaje privado  
gambafeliz [ Domingo, 29 Septiembre 2019, 12:55 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 2 invitados
Usuarios registrados conectados: Ninguno


 



 

cron