Consulta de formulario MDI

Estoy haciendo un proyecto para mi clase de visual basic y quisiera saber como se puede hacer para no maximizar un formulario MDI padre.
Te explico mejor, tengo un formulario MDI padre con 5 formularios hijos, pero lo que no quiero es que el formulario MDI padre se maximice quiero que me quede del mismo tamaño que lo diseño.

4 respuestas

Respuesta
1
En el módulo LOAD del MDIForm, deberás poner:
Me.top= la posición superior que quieres.
Me.left= la posición desde el margen izquierdo que quieres.
Me.Width= el ancho que quieres que tenga tu MDIForm
Me.Height= el alto que quieres que tenga el MDIForm.
Nota:
Pero recuerda que no puedes evitar la aparición de los cuadros de control de un MDIForm, esto hará que algunos usuarios lo maximicen y otros lo minimicen.
Respuesta
1
Una solución es la siguiente:
Declarar el la sección declaraciones del formulario Mdi lo siguiente:
Private Declare Function GetSystemMenu Lib "user32" _
(ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" _
(ByVal hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long) As Long
Const SC_SIZE = &HF000
Const MF_BYCOMMAND = &H0
Const SC_MAXIMIZE = &HF030
En el MDIForm_Load poner:
Dim hWnd&, hMenu&, Success&
hWnd = Me.hWnd
hMenu = GetSystemMenu(hWnd, 0)
Success = DeleteMenu(hMenu, SC_SIZE, MF_BYCOMMAND)
Success = DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND)
..........
Otra posible opcion es poner en el MDIForm_Resize :
Me.Height = valor
Me.Width = valor
Respuesta
1
Creo que si se te maximiza el formulario MDI, es porque tienes la propiedad WindowState=2 (Maximized), solo es cuestión de establecer la propiedad a 0 (Normal).
Respuesta
1
Efectivamente no existe propiedad Border style para el MDI pero puedes utilizar el siguiente código
Private Sub MDIForm_Resize()
If MDIForm1.WindowState = vbMaximized Then
MDIForm1.WindowState = vbNormal
MDIForm1.Height = 4800
MDIForm1.Width = 4800
ElseIf MDIForm1.WindowState = vbMinimized Then
MDIForm1.WindowState = vbNormal
MDIForm1.Height = 4800
MDIForm1.Width = 4800
Else
MDIForm1.WindowState = vbNormal
MDIForm1.Height = 4800
MDIForm1.Width = 4800
End If
End Sub
Lo que hace es estabñlecer siempre el tamaño del form en uno establecido(ejemplo es 4800).
DEFECTO verás como el formulario cambia de tamaño y vuelve a su posición original.
Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas