ocultar titulo de un formulario y desactivar cierre

14/09/2006 - 21:39 por J.P. | Informe spam
Tengo un formulario y quisiera saber como puedo ocultarle la barra de
titulo y ademas desactivar el cierre del mismo a traves de la
convinación de teclas Alt+F4.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
15/09/2006 - 05:51 | Informe spam
hola, Jose !

Tengo un formulario y quisiera saber como puedo ocultarle la barra de titulo
y ademas desactivar el cierre del mismo a traves de la convinacion de teclas Alt+F4.



-> dependiendo de 'hasta donde' sea [realmente] necesario quitar/ocultar la barra de titulos...
algunas alternativas [que pudieran ser incluso 'combinables'] con sus pros y contras son las siguientes...

decide cual/es aplica/n de la mejor manera a tus intenciones y... si cualquier duda... comentas?
saludos,
hector.

todos los ejemplos 'van' en el modulo de codigo -> del formulario ==
1) si SOLO quieres 'evitar' que el usuario 'cierre/cancele' el formulario SIN tu 'permiso'...
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Cancel = CloseMode = vbFormControlMenu
End Sub
___
=> el usuario SOLO 'podra' salir/terminar/... el formulario a traves de la salida que TU le 'proveas' en el codigo ;)
o... [solamente] pulsando la combinacion {ctrl}+{pausa} =>interrupcion del codigo<= :-((

2) si SOLO quieres 'evitar' que el usuario ande 'paseando' el formulario por la pantalla...
Private Declare Function Formulario 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(Formulario(vbNullString, Me.Caption), 0), 1, &H400& Or &H1000&
Quitar Menu(Formulario(vbNullString, Me.Caption), 0), 2, &H400& Or &H1000&
Quitar Menu(Formulario(vbNullString, Me.Caption), 0), 4, &H400& Or &H1000&
End Sub
___
=> las 'posibilidades' de salir/terminar/... con el formulario son las mismas que con el 'truco' anterior...
MAS.. [agrega que]... puede tambien utilizar la combinacion {alt}+{F4} :-((
[a menos que decidas 'conservar' el truco del '_querycolse'] :))

3) si el usuario presiona {ctrl}+{pausa} o... {escape} estando una macro 'en ejecucion'...
se produce un error 18 en tiempo de ejecucion =>operacion cancelada por el usuario<y para que sea 'detectado' por esa propiedad, se debe incluir un 'manejo de errores' en el codigo
prueba con la propiedad EnableCancelKey [es del objeto Application]
=>revisa en la ayuda [vba] los comentarios acerca de 'cuidados especiales' en su uso<si [solamente] quieres 'desaparecer' el dialogo de la 'pregunta-confirmacion'... [p.e.]
' ... otras lineas de tu codigo ...
On Error GoTo Ver_Error
Application.EnableCancelKey = xlErrorHandler
' ... otras lineas de tu codigo ...
Ver_Error:
If Err <> 18 Then Resume ' si el usuario 'intento' detener el codigo... el codigo... NO 'le hace caso' :))
' ... otras lineas de tu codigo ...

4) si [efectivamente] 'necesitas' QUITAR la barra de titulos del 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
no importa si 'ves' que la parte inferior del formulario 'se come' algunos controles :-(
-> proveerle unos 'bordes personalizados' [efectos especiales]
-> y copia las las siguientes lineas [mismo 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
Respuesta Responder a este mensaje
#2 Gabriel Raigosa
30/09/2006 - 18:34 | Informe spam
Carpeta
Descripción
Dirección

1
** Microsoft Excel *
http://esnips.com/web/GabrielRaigosa

2
Archivos para usar en clase
http://esnips.com/web/RaigosaClase

3
Fechas y Horas
http://esnips.com/web/RaigosaFechasHoras

4
Formato y Formato Condicional
http://esnips.com/web/RaigosaFormatos

5
Foro Excel
http://esnips.com/web/ForoExcel

6
Funciones de Busqueda
http://esnips.com/web/RaigosaBusqueda

7
Funciones de Texto
http://esnips.com/web/RaigosaTexto

8
Funciones Financieras
http://esnips.com/web/RaigosaFinancieras

9
Funciones Logicas
http://esnips.com/web/RaigosaLogicas

10
Graficos con Excel
http://esnips.com/web/RaigosaGraficos

11
Grupo (Sabados)
Privado

12
Grupo (Viernes)
Privado

13
Grupo Excel Septiembre
Privado

14
Juegos con Excel
http://esnips.com/web/RaigosaJuegosExcel

15
Macros con Excel
http://esnips.com/web/Macros-con-Excel

16
Manuales Excel
http://esnips.com/web/RaigosaManuales

17
Paginas WEB
http://esnips.com/web/RaigosaPaginasExcel

18
Practicas - XLS
http://esnips.com/web/RaigosaPracticasXLS

19
Tablas Dinámicas
http://esnips.com/web/RaigosaTablasDinamicas

20
TEST
http://esnips.com/web/GabrielRaigosa-test

21
Validación
http://esnips.com/web/RaigosaValidacion

22
Varios
http://esnips.com/web/RaigosaVarios

23
VBA - Visual Basic para Aplicaciones
http://esnips.com/web/RaigosaVBA



Gabriel Raigosa
http://esnips.com/web/Raigosa
http://esnips.com/web/ForoExcel
"J.P." escribió en el mensaje
news:
Tengo un formulario y quisiera saber como puedo ocultarle la barra de
titulo y ademas desactivar el cierre del mismo a traves de la
convinación de teclas Alt+F4.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida