Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: juanjoxx en 15 Abril 2006, 18:39 pm



Título: Inhabilitar X del Form
Publicado por: juanjoxx en 15 Abril 2006, 18:39 pm
hi a todos lo pro ... ;D
alli va la duda ?
como hago para Inhabilitar la X del form .... :huh:
ty a todos los pro...


Título: Re: Inhabilitar X del Form
Publicado por: XP. en 15 Abril 2006, 19:28 pm
Hay varias formas

la más facil es ir a las propiedades del formulario y poner la propiedad "ControlBox" en "False" pero de esa manera quedan inhabilitados los botones de Cerrar, Minimizar y Maximizar.

y la otra mediante codigo

En un modulo pones esto:
Código:
Public Declare Function GetSystemMenu Lib "user32" _
(ByVal hWnd As Long, ByVal bRevert As Long) As Long
Public Declare Function ModifyMenu Lib "user32" Alias "ModifyMenuA" _
(ByVal hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long, ByVal wIDNewItem As Long, _
ByVal lpString As Any) As Long
Public Declare Function DrawMenuBar Lib "user32" _
(ByVal hWnd As Long) As Long
'
Global Const MF_BYCOMMAND = &H0&
Global Const MF_ENABLED = &H0&
Global Const MF_GRAYED = &H1&
'
Public Const SC_CLOSE = &HF060&
' Básicamente lo que se hace es dibujar una caba sobre el botón actual
'la cual lo bloquea

y en el formulario principal esto:
Código:
Private Sub Bloquear_Cerrar()
Dim hMenu As Long
'
hMenu = GetSystemMenu(hWnd, 0)
' Deshabilitar el menú cerrar del formulario
Call ModifyMenu(hMenu, SC_CLOSE, MF_BYCOMMAND Or MF_GRAYED, -10, "Close")
End Sub
Private Sub Form_Load()
Bloquear_Cerrar ' llamamos a nuestro evento
End Sub


Título: Re: Inhabilitar X del Form
Publicado por: juanjoxx en 15 Abril 2006, 21:34 pm
Gracias pro muy buena ....... ;D   


Título: Re: Inhabilitar X del Form
Publicado por: VirucKingX en 16 Abril 2006, 22:05 pm
Para q se complican la vida con modulos, esto es muxo mas facil y ademas la X se ve igual

Citar
Option Explicit

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    On Error Resume Next
           If UnloadMode <> 1 Then
        Cancel = True
       End If
End Sub

Bye


Título: Re: Inhabilitar X del Form
Publicado por: _Sergi_ en 18 Abril 2006, 02:40 am
Citar
Para q se complican la vida con modulos

xD Tú también te estas complicando la vida!! (que ironía eh)
En el evento QueryUnload escribe

Código:
Cancel = 1

Y ya está!!!


Título: Re: Inhabilitar X del Form
Publicado por: juanjoxx en 20 Abril 2006, 02:34 am
las dos son muy buenas...  ;D
pero todo depende de como quieres q se vea en tu interface ;D