MAXIMIZAR FORMULARIO

07/10/2004 - 04:12 por MAXIMIZAR FORMULARIO | Informe spam
Excelente solución.
Ahora otro favor...
cómo hago para que este formulario no pueda minimizarse,
maximizarse, cerrar con el botón X ni lo puedan mover
tomando la barra de título ??

Un saludo




hola, Jorge !


... un formulario de Excel VB ... que aparesca


maximizado al ejecutarlo.

prueba con las siguientes lineas de codigo 'puestas' ->en
el evento '_initialize'<- del formulario
en el modulo de codigo del formulario ==Private Sub UserForm_Initialize()
With Application
Me.Top = .Top
Me.Left = .Left
Me.Height = .Height
Me.Width = .Width
End With
End Sub
 

Leer las respuestas

#1 Héctor Miguel
07/10/2004 - 09:53 | Informe spam
hola, Jorge !

... que este formulario no pueda minimizarse, maximizarse, cerrar con el boton X
ni lo puedan mover tomando la barra de título ??



una forma seria 'desapareciendo' la barra del titulo del formulario [al momento de 'activarlo']
[de 'pasadita'...] te 'estarias llevando' el boton 'X' y...
el usuario 'tendra que salir' [del formulario] con {Alt}+{F4} [o algun boton de comando 'de salida']
[para lo cual...] se necesita...
-> hacer 'llamadas' a algunas API's de windows
-> 'recortar la altura' del formulario [en tiempo de diseño] +/- el alto de la barra de titulo
[probablemente tendras que 'encontrar' la posicion/altura 'adecuadas' para que 'cubra' la ventana] :-((
-> proveerle unos 'bordes personalizados' [efectos especiales]

si cualquier duda... ¿comentas?
saludos,
hector.
en el modulo de codigo 'del formulario' ==Private Declare Function BuscarVentana _
Lib "User32" Alias "FindWindowA" ( _
ByVal Clase As String, ByVal Ventana As String) As Long
Private Declare Function ObtenerVentana _
Lib "User32" Alias "GetWindowLongA" ( _
ByVal Ventana As Long, ByVal Indice As Long) As Long
Private Declare Function EstablecerVentana _
Lib "User32" Alias "SetWindowLongA" ( _
ByVal Ventana As Long, ByVal Indice As Long, _
ByVal NuevoEstilo As Long) As Long
Private Declare Function MostrarVentana _
Lib "User32" Alias "ShowWindow" ( _
ByVal Ventana As Long, ByVal Comando As Long) As Long
Private Const Estilo_Global As Long = (-16)
Private Const Texto_Ventana As Long = &HC00000
Private Const Mostrar_Estilo As Long = 5
Private Sub UserForm_Activate()
Dim miFormulario As Long, Estilo As Long
Me.SpecialEffect = fmSpecialEffectSunken
If Val(Application.Version) < 9 _
Then miFormulario = BuscarVentana("ThunderXFrame", Me.Caption) _
Else miFormulario = BuscarVentana("ThunderDFrame", Me.Caption)
Estilo = ObtenerVentana(miFormulario, Estilo_Global)
Estilo = Estilo And Not Texto_Ventana
EstablecerVentana miFormulario, Estilo_Global, Estilo
MostrarVentana miFormulario, Mostrar_Estilo
End Sub

Preguntas similares