Visual Basic - Dimensiones formularios

Life is soft - evento anual de software empresarial
 
Vista:

Dimensiones formularios

Publicado por Krator (71 intervenciones) el 20/10/2006 13:58:43
Hola amigos.

Verán, quiero que mi formulario tengo siempre un tamaño mínimo, pero no un máximo establecido. Es decir, el usuario puede hacer el formulario más grande, pero no más pequeño del inicial.
Por tanto, usé el Resize

private sub Form1_Resize()
if me.height < minh
me.height = 4000
end if
if me.width < minw
me.width = 3000
end if
end sub

Por ejemplo... El sistema no es muy mono, pero funciona, excepto claro, si el usuario quiere minimizar la ventana, lo que da un error.

¿Alguna idea?
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

RE:Dimensiones formularios

Publicado por Damian Piloto Carbonell (6 intervenciones) el 20/10/2006 15:40:05
Amigo para solucionar el problema del minimisado declara false la propiedad MinButton.
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:Dimensiones formularios

Publicado por Jasall (60 intervenciones) el 20/10/2006 21:38:47
Buenas, prueba asi:
'
Private Sub Form_Resize()
If Form1.WindowState <> vbMinimized Then

If Me.Height < 3500 Then
Me.Height = 3500
ElseIf Me.Width < 3000 Then
Me.Width = 3000
End If

End If
End Sub
'

y para que te quede mas elegante y deje de arrastrar una vez alcanzado el limite utiliza la Api "mouse_event"

'
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Const MOUSEEVENTF_LEFTUP = &H4

Private Sub Form_Resize()
If Form1.WindowState <> vbMinimized Then

If Me.Height < 3500 Then
Me.Height = 3500
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
ElseIf Me.Width < 3000 Then
Me.Width = 3000
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0

End If

End If
End Sub
'
Saludos
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:Dimensiones formularios

Publicado por Krator (71 intervenciones) el 20/10/2006 22:33:23
Gracias amigo, lo probaré.
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:Dimensiones formularios

Publicado por Krator (71 intervenciones) el 21/10/2006 12:02:59
Ya lo probé y funciona perfecto,

Muchas gracias. Te debo una cervecilla.
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:Dimensiones formularios

Publicado por Krator (71 intervenciones) el 21/10/2006 12:16:27
Bueno, pues aún no te la debo del todo, jajaja. Bueno, efectivamente funciona bien, pero tiene un comportamiento raro. Y es que carga 2 veces el formulario.
Cuando llega a la linea
If form1.WindowState <> vbMinimized then
Vuelve a ejecutar el Form1_Load, con lo que al acabar todo, salen 2 formularios iguales.
¿¿??
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:Dimensiones formularios

Publicado por Krator (71 intervenciones) el 21/10/2006 12:27:10
Ya he dado con la respuesta yo mismo, si en vez de poner
If form1.WindowsState <> vbMinimized then PONGO
If Me.WindowState <> vbMinimized then

Problema resulto, ya no carga 2 veces el mismo formulario.
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