Ocultar/Mostrar aplicación
Ocultar/Mostrar aplicación
Buenas Haciendo mi reproductor de música me ha surgido la duda de cómo hacer que se muestre y se oculte en la barra de tareas, he estado leyendo sobre el TraySetState, TraySetToolTip pero no acabo de encontrar el mecanismo adecuado, si pudieras hacerme un prototipo sencillo lo agradecería mucho.
Gracias.
Gracias.
- Chefito
- Profesional del Autoit
- Mensajes: 2035
- Registrado: 21 Feb 2008, 18:42
- Ubicación: Albacete/Cuenca (España)
Re: Ocultar/Mostrar aplicación
Pero que es lo que quieres??? que por ejemplo cuando le des al boton de minimizar desaparezca la aplicación y aparezca el icono en la barra de herramientas????
Explicate mejor.
Para mostrar el icono se utiliza TraySetState(1) y para ocultarlo TraySetState(2). Simplemente eso.
Si lo que quieres hacer es algo como lo que te dije al principio, tienes que hacer que cuando le des al botón minimizar de la ventana principal (eso se detecta cuando la funcion GuiGetMsg() lanza el mensaje $GUI_EVENT_MINIMIZE), cambiar el estado de la ventana a oculta con GUISetState(@SW_HIDE), e inmediatamente después hacer visible el icono en la barra de herramientas con TraySetState(1). Al contrario sería con GUISetState(@SW_SHOW) e inmediatamente TraySetState(2).
Intenta algo y ya nos dirás.
Saludos.
Explicate mejor.
Para mostrar el icono se utiliza TraySetState(1) y para ocultarlo TraySetState(2). Simplemente eso.
Si lo que quieres hacer es algo como lo que te dije al principio, tienes que hacer que cuando le des al botón minimizar de la ventana principal (eso se detecta cuando la funcion GuiGetMsg() lanza el mensaje $GUI_EVENT_MINIMIZE), cambiar el estado de la ventana a oculta con GUISetState(@SW_HIDE), e inmediatamente después hacer visible el icono en la barra de herramientas con TraySetState(1). Al contrario sería con GUISetState(@SW_SHOW) e inmediatamente TraySetState(2).
Intenta algo y ya nos dirás.
Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Re: Ocultar/Mostrar aplicación
Código: Seleccionar todo
#include <GUIConstantsEx.au3>
$Form1 = GUICreate("Form1", 291, 172, 193, 115)
$Input1 = GUICtrlCreateInput("Input1", 48, 56, 177, 21)
GUISetState(@SW_SHOW)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_MINIMIZE
GUISetState(@SW_HIDE)
TraySetState(1)
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
- Chefito
- Profesional del Autoit
- Mensajes: 2035
- Registrado: 21 Feb 2008, 18:42
- Ubicación: Albacete/Cuenca (España)
Re: Ocultar/Mostrar aplicación
Algo así???
Saludos.
Código: Seleccionar todo
#Include <Constants.au3>
#include <GUIConstantsEx.au3>
#NoTrayIcon ;no pone el icono en el Tray.
Opt("TrayMenuMode",1) ;quita el menu del icono
$Form1 = GUICreate("Form1", 291, 172, 193, 115)
$Input1 = GUICtrlCreateInput("Input1", 48, 56, 177, 21)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
$msgTray=TrayGetMsg() ;recoge los mensajes creados por el Tray.
If $msgTray=$TRAY_EVENT_PRIMARYDOWN Then ;si cliqueas encima del icono, la ventana se restaura y desaparece el icono.
GUISetState(@SW_SHOW)
GUISetState(@SW_RESTORE)
TraySetState(2)
EndIf
Switch $nMsg
Case $GUI_EVENT_MINIMIZE
GUISetState(@SW_HIDE)
TraySetState(1)
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Re: Ocultar/Mostrar aplicación
Perfecto ! No conocía la función $TRAY_EVENT_PRIMARYDOWN, muchas gracias =)
- Chefito
- Profesional del Autoit
- Mensajes: 2035
- Registrado: 21 Feb 2008, 18:42
- Ubicación: Albacete/Cuenca (España)
Re: Ocultar/Mostrar aplicación
Mmmmm...no es una función, es una constante. La función TrayGetMsg() devuelve los eventos como valores numéricos, y AutoIt los ha declarado en varias constantes.
Mira en la ayuda la función TrayGetMsg(). Hay están todas las constantes devueltas por ésta según la acción que hagas.
Saludos.
Mira en la ayuda la función TrayGetMsg(). Hay están todas las constantes devueltas por ésta según la acción que hagas.
Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Re: Ocultar/Mostrar aplicación
Gracias por la aclaración