Barra de titulo de formulario

10/08/2005 - 16:51 por dargento | Informe spam
Muy buenas.
Mi pregunta es, si se puede eliminar la barra de titulo de lo
formularios creados en excel con visual basic, si puede,pues si po
favor me pueden decir como, les estaria muy agradecida.
Gracia

dargent
dargento's Profile: http://www.msusenet.com/member.php?userid4
View this thread: http://www.msusenet.com/t-187097124
 

Leer las respuestas

#1 Héctor Miguel
11/08/2005 - 03:36 | Informe spam
hola, Desiree !

... eliminar la barra de titulo de los formularios creados en excel con visual basic [...]



no se hasta donde quieres llegar con la desaparicion de la barra de titulo de los useform -?-
te paso una 'avanzada' para que decidas hasta donde te conviene quedarte :))
solo considera las 'salidas' que le vayas a proveer al usuario para 'terminar' con el userform :))

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.

1) si SOLO necesitas que el usuario no pueda cerrar el userform...
=> en el modulo de codigo del formulario <Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then Cancel = True
End Sub

2) si quieres 'evitar' que el usuario ande 'paseando' el userform por la pantalla...
=> en el modulo de codigo del formulario <Private Declare Function EnFormulario Lib "User32" Alias "FindWindowA" ( _
ByVal Clase As String, ByVal Nombre As String) As Long
Private Declare Function Menu Lib "User32" Alias "GetSystemMenu" ( _
ByVal Ventana As Long, ByVal Revertir As Long) As Long
Private Declare Function Quitar Lib "User32" Alias "RemoveMenu" ( _
ByVal Menu As Long, ByVal Posicion As Long, ByVal Estado As Long) As Long
Private Sub UserForm_Initialize()
Quitar Menu(EnFormulario(vbNullString, Me.Caption), 0), 1, &H400
End Sub

3) si 'efectivamente' deseas quitarle la barra de titulos al formulario...
tendras que hacerle algunos arreglos a las dimensiones del formulario... [p.e.]
-> 'recortar la altura' del formulario [en tiempo de diseño] +/- el alto de la barra de titulo
-> proveerle unos 'bordes personalizados' [efectos especiales]
=> 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 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, (-16))
Estilo = Estilo And Not &HC00000
EstablecerVentana miFormulario, (-16), Estilo
MostrarVentana miFormulario, 5
End Sub

Preguntas similares