Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Vb 6.0 Sólo Botón De Minimizar En Formulario

Estas en el tema de Vb 6.0 Sólo Botón De Minimizar En Formulario en el foro de Visual Basic clásico en Foros del Web. hola amigos del foro buen día... Tengo una interrogante en la cual necesito que me auxilien a resolver, a lo mejor es algo sencillo pero ...
  #1 (permalink)  
Antiguo 19/05/2008, 09:33
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Vb 6.0 Sólo Botón De Minimizar En Formulario

hola amigos del foro buen día...

Tengo una interrogante en la cual necesito que me auxilien a resolver, a lo mejor es algo sencillo pero la verdad quisiera que me ayuden por que no lo supe realizar...

necesito que en los formularios de mi proyecto en VB 6.0 en los botones de control solo me muestre el boton de minimizar y que al minimizarse me aparesca el proyecto minimizado en la barra de tareas...

he intentado moviendole a las propiedades pero solo he conseguido que me muestre el boton de minimizar acompañado de el boton de cerrar el formulario (X)... y asi no lo quiero...

espero y me auxilien de antremano gracias...

Última edición por LuZbA; 20/05/2008 a las 15:03
  #2 (permalink)  
Antiguo 19/05/2008, 10:37
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Vb 6.0 Sólo Botón De Minimizar En Formulario

Hola, buen día...

Prueba con algo así:

Código:
Option Explicit

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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    
Private Const WS_MAXIMIZEBOX = &H10000
Private Const GWL_STYLE = (-16)


Private Sub Form_Load()
    Dim lRet As Long
    lRet = GetWindowLong(Me.hWnd, GWL_STYLE)
    lRet = lRet And Not (WS_MAXIMIZEBOX)
    lRet = SetWindowLong(Me.hWnd, GWL_STYLE, lRet)
    DesactivarMenu Me
End Sub

Private Sub DesactivarMenu(frm As Form)
    ' Desactiva las opciones del menú del Form (esq.superior izq)
    Dim hSysmenu As Long
    hSysmenu = GetSystemMenu(frm.hWnd, 0)
    RemoveMenu hSysmenu, 6, &H400&
    RemoveMenu hSysmenu, 5, &H400&
    RemoveMenu hSysmenu, 4, &H400&
    RemoveMenu hSysmenu, 2, &H400&
    RemoveMenu hSysmenu, 1, &H400&
End Sub
  #3 (permalink)  
Antiguo 19/05/2008, 11:32
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Pregunta Respuesta: Vb 6.0 Sólo Botón De Minimizar En Formulario

Cita:
Iniciado por Avellaneda Ver Mensaje
Hola, buen día...

Prueba con algo así:

Código:
Option Explicit

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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    
Private Const WS_MAXIMIZEBOX = &H10000
Private Const GWL_STYLE = (-16)


Private Sub Form_Load()
    Dim lRet As Long
    lRet = GetWindowLong(Me.hWnd, GWL_STYLE)
    lRet = lRet And Not (WS_MAXIMIZEBOX)
    lRet = SetWindowLong(Me.hWnd, GWL_STYLE, lRet)
    DesactivarMenu Me
End Sub

Private Sub DesactivarMenu(frm As Form)
    ' Desactiva las opciones del menú del Form (esq.superior izq)
    Dim hSysmenu As Long
    hSysmenu = GetSystemMenu(frm.hWnd, 0)
    RemoveMenu hSysmenu, 6, &H400&
    RemoveMenu hSysmenu, 5, &H400&
    RemoveMenu hSysmenu, 4, &H400&
    RemoveMenu hSysmenu, 2, &H400&
    RemoveMenu hSysmenu, 1, &H400&
End Sub

hola Avellaneda gracias por responder...

ya lo probe pero aun asi el único boton de control que me quita es el de maximizar me sigue dejando el de cerrar el formulario,,, algo extra que le pueda agregar para que ya si no lo quita que lo inhabilite?...

puedo aventurarme en que posiblemente el unico que estas indicando a desactivar es el maximizar ?? mi razon es que el unico que veo es (Private Const WS_MAXIMIZEBOX = &H10000),,,, si fuera quitar el de cerrar como seria???.... ayudenme estoy muy desorientadita??? jeje... gracias

abrazos...

Última edición por LuZbA; 19/05/2008 a las 11:46 Razón: agregar comentario...
  #4 (permalink)  
Antiguo 19/05/2008, 11:50
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Vb 6.0 Sólo Botón De Minimizar En Formulario

Es curioso, a mí me funciona perfectamente, tanto en un Form normal como en un MDI.

¿Copiaste el código tal y como lo puse?

  #5 (permalink)  
Antiguo 19/05/2008, 12:32
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Pregunta Respuesta: Vb 6.0 Sólo Botón De Minimizar En Formulario

Cita:
Iniciado por Avellaneda Ver Mensaje
Es curioso, a mí me funciona perfectamente, tanto en un Form normal como en un MDI.

¿Copiaste el código tal y como lo puse?


de verdad que si como tu lo pusiste...

tendrá algo que ver el que este usando un skin???

y si no me lo quita, al menos algo que me lo bloquee??? (inhabilite)
  #6 (permalink)  
Antiguo 19/05/2008, 15:39
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Vb 6.0 Sólo Botón De Minimizar En Formulario

Avellaneda y/o amigos del foro...

fijate que si era mi skin, no se la vdd aun a que se deba,,, pero sin el skin si me maneja bien los botones de control,, lo que no entiendo es por que me minimiza la aplicacion dentro del escritorio de windows y no en la barra de tareas,,, y esa propiedad esta activada en el formulario...

jeje ideas o algo que me guiara jejeje ya estoy como este monito


gracias... un abrazo...
  #7 (permalink)  
Antiguo 19/05/2008, 15:52
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Respuesta: Vb 6.0 Sólo Botón De Minimizar En Formulario

Cita:
Iniciado por LuZbA Ver Mensaje
Avellaneda y/o amigos del foro...

fijate que si era mi skin, no se la vdd aun a que se deba,,, pero sin el skin si me maneja bien los botones de control,, lo que no entiendo es por que me minimiza la aplicacion dentro del escritorio de windows y no en la barra de tareas,,, y esa propiedad esta activada en el formulario...

jeje ideas o algo que me guiara jejeje ya estoy como este monito


gracias... un abrazo...
poné un botón de minimizar apiecito, luego poné el las opciones la opción que deja únicamente el botón de cerrar(no la fixedwindow), y el la programale para que cuando hagan click en el botón cerrar creo es closing no se ejecuta nada, creo que en las faq's está el código..

nos vemos.
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #8 (permalink)  
Antiguo 20/05/2008, 06:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Vb 6.0 Sólo Botón De Minimizar En Formulario

Creo que en las FAQ's no está el código. Así que lo pongo aquí:
Código:
 
Private TrueClose As Boolean
Private Sub Form_Unload (Cancel As Boolean)
If Not TrueClose Then Cancel = -1
End Sub
Private Sub cmdClose_Click()
TrueClose = True
Unload Me
End Sub
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 20/05/2008, 14:46
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
De acuerdo Respuesta: Vb 6.0 Sólo Botón De Minimizar En Formulario

Muchisimas gracias...

ya pude solucionarlo... gracias por la ayuda y aqui seguire dandoles lata...

un abrazo a todos...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:14.