Ocultar el Boton de Cerrar [X]

14/08/2003 - 18:45 por Camilo Bathory | Informe spam
Buenos días...

Para ocultar la [X] del formulario e impedir que lo
puedan cerrar de esta forma, estaba utilizando un código
que mefuncionaba muy bien en Office97, pero ahora que lo
trabajo en XP no me funciona.

¿Alguine podria decirme que cambios debo hacerle?
¿O alguien sabe como puedo Ocultar la [X] para Office XP?

Gracias!!!

C O D I G O

'Buscar la Ventana
Private Declare Function FindWindow Lib "User32"
Alias "FindWindowA" (ByVal lpClassName As String, ByVal
lpWindowName As String) As Long
'Obtener el Estilo de la Ventana
Private Declare Function GetWindowLong Lib "User32"
Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex
As Long) As Long
'Definir el Nuevo Estilo de la Ventana
Private Declare Function SetWindowLong Lib "User32"
Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex
As Long, ByVal dwNewLong As Long) As Long
Const WS_SYSMENU = &H80000
Const GWL_STYLE = (-16)

Sub HideCloseButton(oDialog As Object)
Dim hWnd As Long, lStyle As Long
hWnd = FindWindow("ThunderXFrame", oDialog.Caption)
'Obtener el Estilo actual de la Ventana
lStyle = GetWindowLong(hWnd, GWL_STYLE)
'No Desplegar el Menu del Sistema [X]
SetWindowLong hWnd, GWL_STYLE, lStyle And Not WS_SYSMENU
End Sub

- C U A N D O C A R G A E L F O R M -

Sub UserForm_Initialize()
HideCloseButton Me
End Sub
 

Leer las respuestas

#1 Héctor Miguel
15/08/2003 - 09:27 | Informe spam
Hola, Camilo !

... ocultar la [X] del formulario / impedir ... cerrar ... funcionaba ... en Office97, pero ... en XP no me funciona.
... que cambios debo hacerle? ... como puedo Ocultar la [X] para Office XP?



==> No he buscado como quitar la [X] en XP, pero... (por lo pronto) prueba con el siguiente "truco" :))
en el modulo de codigo del formulario ==' Para impedir que el usuario cierre el formulario =>"ni" [X] "ni" {Esc}<= '
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then Cancel = True
End Sub
_______
Saludos,
Héctor.
MS-MVP

Preguntas similares