CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: serbc25 en Lunes 28 de Noviembre de 2005, 21:32
Título: Activar Boton X (cerrar) El Formulario
Publicado por: serbc25 en Lunes 28 de Noviembre de 2005, 21:32
Hola a todos:
Me han pasado esta funcion para desactivar el boton X del formulario:
'Declaración de constantes necesarias (valores en hexadecimal)
Private Const MF_BYPOSITION As Integer = &H400 Private Const MF_REMOVE As Integer = &H1000 Private Const MF_DISABLED As Integer = &H2
'Variable para saber si ya está desactivado el botón X 'Private pulsado As Boolean = True
'Importación de procedimientos externos almacenados 'en la librería de Windows USER32.DLL
'Obtener el menú de sistema Private Declare Function GetSystemMenu Lib "User32" _ (ByVal hWnd As Integer, _ ByVal bRevert As Boolean) As IntPtr
'Obtener el número de elementos del menú de sistema Private Declare Function GetMenuItemCount Lib "User32" _ (ByVal hMenu As Integer) As IntPtr
'Quitar elementos del menú de sistema Private Declare Function RemoveMenu Lib "User32" _ (ByVal hMenu As Integer, _ ByVal nPosition As Integer, _ ByVal wFlags As Long) As IntPtr
'Redibujar la barra de título de la ventana Private Declare Function DrawMenuBar Lib "User32" _ (ByVal hWnd As Integer) As IntPtr
Despues agrega esta rutina:
Private Sub DisableCloseButton(ByVal hWnd As IntPtr) Try 'captura de excepciones
Dim menuItemCount As IntPtr Dim hMenu As IntPtr 'Obtener el manejador del menú de sistema del formulario hMenu = GetSystemMenu(hWnd.ToInt32(), False) 'Obtener la cuenta de los ítems del menú de sistema. 'Es el menú que aparece al pulsar sobre el icono a la izquierda 'de la Barra de título de la ventana, consta de los ítems: Restaurar, Mover, 'Tamaño,Minimizar, Maximizar, Separador, Cerrar. menuItemCount = GetMenuItemCount(hMenu.ToInt32()) 'Quitar el ítem Close (Cerrar), que es el último de ese menú RemoveMenu(hMenu.ToInt32(), menuItemCount.ToInt32() - 1, MF_DISABLED Or MF_BYPOSITION) 'Quitar el ítem Separador, el penúltimo de ese menú, entre Maximizar y Cerrar RemoveMenu(hMenu.ToInt32(), menuItemCount.ToInt32() - 2, MF_DISABLED Or MF_BYPOSITION) 'Redibujar la barra de menú DrawMenuBar(hWnd.ToInt32())
'mostrar un mensaje con la excepción producida Catch pollo As Exception MessageBox.Show("Se ha producido la excepción: " + vbCrLf + pollo.Message, _ "Error del programa", MessageBoxButtons.OK) End Try
Y llamala asi:
'desactivo el boton cerrar del formulario DisableCloseButton(Me.Handle)
Me gustaria como se hace para activarlo
:unsure:
Título: Re: Activar Boton X (cerrar) El Formulario
Publicado por: Maxi.Net en Miércoles 14 de Diciembre de 2005, 23:49
Hola yo tengo una forma mas sencilla de esconder el boton cerrar (x) y de mostrarlo
Esconder:
1ero Debes ocultar los tres botones (Me.ControlBox= False), luego muestras el minimizar y maximizar.
Me.ControlBox= True 'Muestra minimizar, maximizar y cerrar (x)
espero te sirva Adios
Título: Re: Activar Boton X (cerrar) El Formulario
Publicado por: senzao18 en Sábado 31 de Diciembre de 2005, 17:35
Maxi.Net donde probaste tu forma de ocultar el boton por que ami no me hace que lo que tu dices en el POST...
Si lo hace, podrias decirme en que version :D de VS.Net lo haces???
Título: Re: Activar Boton X (cerrar) El Formulario
Publicado por: jodijo5 en Lunes 2 de Enero de 2006, 17:18
copachay, si lo que tu deseas es hacer que tu formulario no se cierre nunca, creo que no es necesario que actives o descatives ese boton, yo lo hago así
Código: Text
dim algo as boolean=true
private sub form_closing(sender as object, e as ....)
e.cancel=algo
end sub
private sub button1_click(sender as object, e as event....)
algo=not algo
end sub
Título: Re: Activar Boton X (cerrar) El Formulario
Publicado por: Maxi.Net en Jueves 12 de Enero de 2006, 17:02
hola lo hago en vb.net 2002 y creeme que resulta SOLO ES UN EFECTO VISUAL y podrias partir por ponerlo en el evento clic de un boton adios
Título: Re: Activar Boton X (cerrar) El Formulario
Publicado por: senzao18 en Viernes 13 de Enero de 2006, 17:09
Bueno tengo la version 2003 de VS .Net y ahi no sale... jaja...
Título: Re: Activar Boton X (cerrar) El Formulario
Publicado por: Maxi.Net en Jueves 23 de Marzo de 2006, 23:05
HOLA despues de tanta discución q tal un enlace externo.