FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Minimizar al trayicon
Hola amigos, tengo esto:
Código PHP:
Código PHP:
Cita:
Última edición por Casimiro Notevi fecha: 27-10-2014 a las 16:06:49. |
#2
|
||||
|
||||
al final lo he podido solucionar. Solo tuve que cambiar el DefaultHandle por DispathMessage.
|
#3
|
||||
|
||||
No comprendo porqué quieres manejar el mensaje SC_MINIMIZE para forzar a SysTrayIcon a ejecutar Minimize() cuando eso ya lo detecta por si solo el componente. Fíjate en este fragmento de código de SysTrayIcon:
Código PHP:
Saludos. Última edición por escafandra fecha: 27-10-2014 a las 21:11:56. |
#4
|
||||
|
||||
Cita:
Te pongo el link para que lo puedas mirar: https://mega.co.nz/#!xpNmESJI!6GSaf6...nPmleTPSDZtoNg Está en Main.h y Main.cpp |
#5
|
||||
|
||||
Hola aguml.
Cita:
Debería bastar con: Código PHP:
Código PHP:
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 28-10-2014 a las 00:11:22. |
#6
|
||||
|
||||
Ya se a que te refieres, aguml. El componente no está diseñado para cambiar la visibilidad del formulario en el evento OnMinimize pero es fácil de solucionar.
Hoy es tarde para mi. Mañana te subo un cambio en el componente que permitirá hacerlo. Saludos. |
#7
|
||||
|
||||
ok, mil gracias amigo.
Supongo que tendras que añadir alguna propiedad para indicar si queremos que lo haga o no ¿verdad? Ya puestos estaria bien que podamos elegir que debe hacer al pulsar el boton de cerrar ya que hay muchas aplicaciones que al darle al boton cerrar de la barra del form te colocan la aplicacion en el systrayicon. De momento he aprendido mucho intentando solucionarlo. Por cierto ecfisa, lo que me indicas no está del todo bien ya que si o si ejecutas la accion por defecto y si yo lo oculto a la icontray y luego ejecuto la accion por defecto es como si no hubiera hecho nada ya que me aparece minimizado y no es lo que deseo. Asi si va: Código PHP:
Código:
[C++ Warning] Main.h(82): W8027 Functions containing switch are not expanded inline |
#8
|
||||
|
||||
otra cosa ¿Que diferencia hay entre usar DispathMessage y usar DefaultHandler? En ambos casos me funciona perfecto.
|
#9
|
||||
|
||||
Cita:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#10
|
||||
|
||||
He hecho algún pequeño cambio en el componente y ya funciona como esperaba aguml, no hay nuevas propiedades.
Para evitar el cierre de la app y llevarla en segundo plano al Systray sólo tenemos que actuar en el formulario de la siguiente manera: Código PHP:
PD/ Ya no es necesario el uso de OnWMSysCommand Saludos. Última edición por escafandra fecha: 28-10-2014 a las 20:00:45. Razón: Aclaración OnWMSysCommand |
#11
|
||||
|
||||
me pierdo un poco porque no se donde está formclosequery y que es eso de canclose. ¿Es un evento de TForm de los que vienen por defecto? Y si hago eso y luego coloco un boton para cerrar el form ¿Pongo close() y ya está? ¿O tengo que cambiar antes el valor de canclose? ¿Y si le doy a minimizar ¿En que evento coloco el codigo para que minimice a las systray? Una cosa, ¿No hubiese sido mas sencillo crear por ejemplo la propiedad buttonbarminimize que pueda valer por ejemplo buttonclose y buttonminimize y otra propiedad que por ejemplo llamemos sysminimize de tipo bool y que donde haces en tu componente el hook a esos mensajes de la sysbar, si tenemos a true esa propiedad, dependiendo del valor de la otra propiedad usemos un boton o el otro para minimizarlo a la systray? Es una sugerencia, el maestro eres tu :-P
|
#12
|
||||
|
||||
OnCloseQuery es un evento del formulario que se activa justo antes que OnClose. Si CanClose toma el valor true el formulario se cierre, en caso contrario no.
Saludos. |
#13
|
||||
|
||||
Cita:
Prueba la nueva versión, ya no te hace falta el uso de OnWMSysCommand, lo hace el mismo componente. Pero tu programas lo que se hará en OnMinimize o en OnRestore, que para eso implementé esos eventos del componente. Saludos. |
#14
|
||||
|
||||
ok, lo pruebo y comento.
|
#15
|
||||
|
||||
Amigo, lo he probado y no funciona exactamente como esperaba.
Te explico, lo ideal es poder elegir entre si se debe ocultar al cerrar o solo cerrarse. Eso ya está solucionado en tu componente. El otro punto es si se debe ocultar al minimizar, o simplemente minimizarse. Eso sin el hook no soy capaz de conseguirlo. Es mas, DefaultHandler no funciona como debiera ya que lo minimiza pero no a la barra de tareas sino que lo minimiza en el lado izquierdo de la pantalla y sigues viendo la barra superior del form con los tres botones mientras que con TForm:ispatch(&Msg) se minimiza a la barra de tareas. He modificado el proyecto que subí anteriormente para hacer pruebas y lo adjunto para que veas lo que digo. En este sigo teniendo la funcion que me dices que no hace falta para que veas que funciona e intentes hacerlo funcionar sin ella de igual manera. Link: https://mega.co.nz/#!81cwEYrb!zkHzVP...GFkxV-DzgWuzT8 A ver si puedes verlo y me cuentas, que a lo mejor se puede sin esa funcion y soy yo el que no ve como jejeje. |
#16
|
||||
|
||||
He visto lo que dices y he dado unas vueltas al control TSysTrayIcon tenía un bug en la última actualización. Descarga la última versión.
Debes cambiar tu código de la siguiente forma: En Main.h añade: Código PHP:
Código PHP:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TrayIcon con BallonHint | Neeruu | Varios | 1 | 13-03-2013 13:37:25 |
Click en minimizar ventana y minimizar aplicacion | dmassive | Varios | 5 | 16-02-2009 17:01:16 |
Trayicon en D7 | Cecilio | Varios | 4 | 27-12-2008 15:59:36 |
Trayicon | mjjj | Varios | 2 | 21-09-2007 00:35:16 |
Problemas con TRAYICON!! | marceloalegre | Varios | 3 | 07-06-2005 17:49:07 |
|