FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
no cerrar el tray
estoy manejando un componente cooltrayico bueno mi problema es el
siguiente cuando ejecuto mi programa mi aplicacio se va al tray porque en el evento Oncreate del formulario puse el codigo Application.ShowMainForm:= false; todo perfecto el icono me muestra solo en el tray pero cuando mi aplicacion es abierta deste el tray abre bien el problema es al cerrar como hago para cuando den cerrar en el formulario no borre el icono del tray cuando cierren mi aplicacion se quede en el tray ___________________________________________ alguien me puede ayudar con algun codigo para hacer esto |
#2
|
||||
|
||||
En mi opinión personal, el boton cerrar es para cerrar la aplicación, si quiere minimizarla, que pulse el otro botón. Pulsar para cerrar y que despues se esconda, para mí al menos, supone una incomodidad. No se puede acostumbrar mal a los usuarios.
Para hacer lo que quieres, en el evento OnClose, cambia el parámetro action a caHide, con esto se esconderá la ventana principal. Un saludo.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
||||
|
||||
Hola,
Lepe, dependerá también del tipo de aplicación que sea, aunque sea una mala costumbre y poco intuitivo lo cierto es que aplicaciones como el Microsoft Messenger hace uso de algo así. Por otro lado no me funciona lo que dices de "OnClose", aun poniendo "Action" a "caHide" el formulario se cierra. Digo yo de utilizar el evento "OnCloseQuery", dar el valor "false" a la variable "CanClose" y utilizar el método "HideMainForm" conque cuenta el propio componente CoolTrayIcon. Algo así, vamos:
Siempre queda la posibilidad de hacer algo así también:
|
#4
|
||||
|
||||
Hola,
A ver si me aclaro, que tal vez halla hablado demás: Cita:
Lo que sigue de la ayuda de Delphi tampoco es que me aclare mucho: Cita:
Cita:
|
#5
|
||||
|
||||
Que Microsoft lo haga, no significa que hay que hacerlo así, ya he dicho que es una opinion personal; para mi un boton cerrar es un botón Cerrar
La ayuda de delphi a veces, es mas confusa que el código fuente: Pido disculpas, lo dije de memoria sin corroborarlo. Además no uso el Cooltray, así que ignoro si tiene métodos para hacerlo de otra forma. Por tanto creo adecuado el primer código propuesto por dec. Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#6
|
||||
|
||||
Hola,
Cita:
|
#7
|
||||
|
||||
Cita:
// Saludos |
#8
|
||||
|
||||
Hola,
Cita:
Los programadores del Messenger así parecen haberlo advertido, al indicar al usuario esa rareza de la aplicación: te sale un mensaje de advertencia indicándote que la aplicación no se cerrará, en el que se incluye un dibujito de cómo la aplicación pasará a estar en el "System tray". Por si fuera poco al cerrar la ventana del Messenger esta se desliza en un efecto hasta el "System tray". Convengo con roman en que este tipo de aplicaciones requieren de algo así: que el cierre del formulario principal no implique el cierre del programa. Sin embargo, me divido entre roman y Lepe, puesto que, existe la solución que da el programa Emule, por ejemplo, el cual cuenta con un botón expresamente indicado para minimizar la aplicación en el System Tray: y el botón "cerrar" cierra la aplicación. Con esta última opción corres el riesgo de que la barra de título de la ventana se llene de botones, que si el de la ayuda, el de "siempre arriba", el de "minimizar al tray"... etc. A mí me parece que en las aplicaciones mencionadas, Messenger y Emule la cosa se soluciona bastante bien. En la primera, por las advertencias que dejan claro al usuario el comportamiento atípico de la aplicación; en la segunda, porque al cabo no hay más botones añadidos a la barra de título sino el mentado, con lo cual tampoco queda tan mal... aunque para gustos, etc. Si tengo que decidirme por alguno de los "dos estilos" mencionados para afrontar la primera sorpresa del usuario del programa al cerrar este "como siempre" me quedaría con el del Messenger, por lo ya dicho. Última edición por dec fecha: 03-07-2005 a las 18:49:55. Razón: (corrección del texto) |
#9
|
||||
|
||||
Cita:
En la oficina, por ejemplo, tengo instalado un servidor FTP- que nada tiene que ver con Microsoft. Este servidor presenta una ventana principal para configurarlo y cuando doy click en el botón "Cerrar" de la barra de título espero- y es lo que sucede -que se cierre la ventana principal. No me interesa que se minimice a la barra de tareas pues no es una ventana que use con frecuencia, así que no pienso en usar el botón de minimizar. Pero no espero que se cierre la aplicación pues debe estar siempre activa ¡Es un servidor! Lo que espero es cerrar la ventana porque ya no la voy a usar. En el caso del messenger- que no uso -la filosofía -que no comparto -es la misma. Se considera que debe estar siempre activo. Y aunque yo no comparta dicha filosofía sé que muchos usuarios son felices teniendo activo el messenger todo el día. En resumen, depende, en mi opinión, del tipo de aplicación de que se trate. En mi experiencia como usuario, la principal razón para que una aplicación coloque un icono en la bandeja es porque por una u otra razón debe estar siempre activa aunque no visible y el icono da un punto de entrada para cuando la ventana principal está cerrada. // Saludos |
|
|
|