A la hora de trabajar con formularios MDI en Visual Basic 6, nos damos cuenta que los formulario hijos que tienen la propiedad MDIChild = True es que no aparecen centrados.
Estos formulario parece que toman una posiciona al azar nunca la misma aquí nace la pregunta ¿Como centro este formulario?
La respuesta es muy fácil vamos a crear un sub procedimiento para que centre el formulario y para centrarlo debemos de tener en cuenta el formulario padre MDI.
Tengo un formulario padre MDI llamado frmPrincipal.frm y el formulario que quiero centrar se llama frmPerfilUsuario.frm.
El procedimiento quedaría de la siguiente manera:
Código: Seleccionar todo
Sub CentrarFormulario(Formulario As Form, FormularioPadre As Form)
Formulario.Left = (FormularioPadre.ScaleWidth - Formulario.Width) / 2
Formulario.Top = (FormularioPadre.ScaleHeight - Formulario.Height) / 2
End Sub
Para llamar a esta función y centre el formulario debo colocarla en el evento Load del formulario que quiero centrar de la siguiente manera:
Código: Seleccionar todo
Private Sub Form_Load()
Call CentrarFormulario(Me, frmPrincipal)
End Sub
Código: Seleccionar todo
Private Sub Form_Load()
Call CentrarFormulario(frmPerfilUsuario, frmPrincipal)
End Sub
Esto lo debes implementar en cada uno de los formulario que quieres centrar.