Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: bautistasbr en 10 Marzo 2006, 19:52 pm



Título: ayuda con menu
Publicado por: bautistasbr en 10 Marzo 2006, 19:52 pm
ola,tengo una dudilla.lo que quiero hacer es q cuando se pulse un boton,se me oculte el menu y la barra de donde esta la X para cerrar el programa.Tengo este codigo

If mnuarch.Visible = True Then
mnuarch.Visible = False
End If
If mnucont.Visible = True Then
mnucont.Visible = False
End If
If mnuayu.Visible = True Then
mnuayu.Visible = False
End If
If mnuacc.Visible = True Then
mnuacc.Visible = False
End If

nose como hacer lo demas y para q cuando pulse oculte y muestre la barra y el menu


Título: Re: ayuda con menu
Publicado por: .Slasher-K. en 10 Marzo 2006, 20:12 pm
Código:
    Dim csControl

  For Each csControl In Controls
    If TypeOf csControl Is Menu Then
      csControl.Visible = Not csControl.Visible
    End If
  Next


Título: Re: ayuda con menu
Publicado por: bautistasbr en 10 Marzo 2006, 20:25 pm
muchisimas gracias,funciona a la perfeccion.Pero tengo otra duda.

Como cambio el borde del formulario de sizable a none?


Título: Re: ayuda con menu
Publicado por: .Slasher-K. en 10 Marzo 2006, 20:52 pm
Código:
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Const GWL_STYLE = (-16)

Const WS_CAPTION = &HC00000
Const WS_OVERLAPPED = &H0&
Const WS_SYSMENU = &H80000
Const WS_THICKFRAME = &H40000
Const WS_MINIMIZEBOX = &H20000
Const WS_MAXIMIZEBOX = &H10000
Const WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED Or WS_CAPTION Or WS_SYSMENU Or WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX)

Const SWP_NOMOVE = &H2
Const SWP_FRAMECHANGED = &H20
Const SWP_NOSIZE = &H1
Const SWP_NOZORDER = &H4

Private Sub ShowBorder(Optional bShow As Boolean = True)
  If bShow Then
    Call SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) Or WS_OVERLAPPEDWINDOW)
  Else
    Call SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) And Not WS_OVERLAPPEDWINDOW)
  End If
 
  Call SetWindowPos(hwnd, 0&, 0&, 0&, 0&, 0&, SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOZORDER Or SWP_NOSIZE)
End Sub



Título: Re: ayuda con menu
Publicado por: bautistasbr en 10 Marzo 2006, 21:23 pm
no funciona,me da error en esta zona

Private Sub ShowBorder(Optional bShow As Boolean = True)
  If bShow Then
    Call SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) Or WS_OVERLAPPEDWINDOW)
  Else
    Call SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) And Not WS_OVERLAPPEDWINDOW)
  End If
 
  Call SetWindowPos(hwnd, 0&, 0&, 0&, 0&, 0&, SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOZORDER Or SWP_NOSIZE)
End Sub