Balloon, TrayIcon - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: Balloon, TrayIcon (/thread-1129.html) Páginas:
1
2
|
Balloon, TrayIcon - Shell - 12-12-2022 Buenas a todos/as!. He hecho un ejemplo que me dice los días que quedan para navidad. Quizás no es la forma más recomendable o no entiendo el problema adecuadamente. Es una aplicación que se va a ejecutar una vez entremos en el escritorio. Siempre, todos los días. Tengo una fecha estimada, el día de navidad y la fecha actual. Resto la diferencia y me dice los días que quedan. Hasta ahí bien. ( fue un rollo el tema de fechas ). A la hora de representar esto, me surgen dudas, probablemente de no entender el comportamiento de la clase. Si fuera un icono en la bandeja de entrada o panel superior, momentáneamente al mostrarse el escritorio, me gustaría mostrar el icono y un mensaje en el icono que puede ser un globo, "Quedan x's días para navidad", luego el mensaje desaparece y el icono se queda en la bandeja. ¿ Es esto el funcionamiento "normal" de un icono en la bandeja de entrada ?. ( Por si debo cambiar la forma de presentar el mensaje ) - Algunos muestran valores como es valores de temperaturas - Otros simplemente actúan cuando haces clic en ellos Sigo. El icono aparece "pegado" al selector de áreas de trabajo, a su izquierda no detrás de este, claro el selector del área de trabajo es otro icono a su manera. Si hago clic en el (esto no es lo que quiero) el mensaje aparece en el formulario ( que es un control ), ya que por lo que parece un trayicon no es un control. Puedo hacer el proyecto con formulario o sin este (no es realmente necesario), haciendo un proyecto de consola y añadiendo componentes. Os muestro el código: Código: Const FECHANAVIDAD As String = "25/12/2022" Realmente no quiero hacer clic en el icono, solo quiero que me muestre un mensaje y desparezca este. He pensado hasta en un timer, pero es que trayicon tiene algo parecido a un reloj. Subo el proyecto. Saludos RE: Balloon, TrayIcon - tincho - 12-12-2022 A ver si comprendo bien, lo que querés que suceda es que al entrar a la sesión unos segundos después aparezca un cartelito que diga "Te faltan ...." una sola vez y ya esta. En ese caso propongo esta solución. Código: Public Sub Main() RE: Balloon, TrayIcon - Shell - 12-12-2022 (12-12-2022, 14:44)tincho escribió: A ver si comprendo bien, lo que querés que suceda es que al entrar a la sesión unos segundos después aparezca un cartelito que diga "Te faltan ...." una sola vez y ya esta. Eso es. ¿ Y no crees que se pueda hacer sin usar un comando externo ?. Que me parece bien, pero claro, es que es Gambas con lo que me gusta hacer las cosas "mientras se pueda". Tampoco conocía esa utilidad. Claro, me puse hacerlo directamente con comandos del propio Gambas.No utilicé los comandos de ayudas de la terminal para recavar información. En principio hace eso por ahora, pero quiero ampliar el ejemplo. Gracias por la ayuda. Saludos RE: Balloon, TrayIcon - tincho - 12-12-2022 (12-12-2022, 15:42)Shell escribió: ¿ Y no crees que se pueda hacer sin usar un comando externo ? Seguramente se pueda hacer, pero no se como, lo siento. (12-12-2022, 15:42)Shell escribió: Gracias por la ayuda.De nada. RE: Balloon, TrayIcon - Shell - 12-12-2022 (12-12-2022, 16:12)tincho escribió: Seguramente se pueda hacer, pero no se como, lo siento. Ojala quedase tan bien el globo de Gambas como da este comando. Encontré este vídeo, en este caso crea un script en bash , el lanzador. Y buscando rápidamente ( que todo es cuestión de usar palabras en inglés...ejemplo: "gambas notify message desktop" )..sin el inglés no te comes nada, encontré esto: [Gambas-user] Desktop notification Saludos RE: Balloon, TrayIcon - cogier - 13-12-2022 Esta es mi versión. Código: Label1 As Label RE: Balloon, TrayIcon - Shordi - 13-12-2022 Bueno, pues ahí tienes mi versión. Tiene esta pinta y se cierra al hacer click sobre la bola. Utiliza la propiedad mask del formulario fmain. No es lo que propones, pero no creo que un trayicon sea apropiado para ésto. Puedes cambiar el mouseDown por un Timer, por supuesto. Podría haber buscado una fuente más happy... pero sólo es un ejemplo. Saludos RE: Balloon, TrayIcon - Shordi - 14-12-2022 Le he puesto una fuente chula. No adjunto el proyecto porque es lo mismo excepto la fuente y el color de la etiqueta. Queda así: Ahora mola más. Saludos RE: Balloon, TrayIcon - Shell - 14-12-2022 Gracias a todos!. (13-12-2022, 14:39)cogier escribió: Esta es mi versión. Es una buena opción. Quizás la única por ahora. Formulario sin bordes y uso de la propiedad Mask. Esto es para todos. Entonces cuando la variable es global o común a la clase, en este caso al formulario, no es necesario tener que usar "Private" ( declarar el alcance, se da por entendido ). Así escribimos menos. Había visto las declaraciones de variables locales, declaraciones automáticas, esto es distinto. Existe un problema con esta posibilidad. Se puede hacer, pero si no usamos Private siendo de alcance a toda esa clase. Supongamos el caso del objeto Timer1, tenemos que escribir sus propiedades letra a letra y si nos confundimos podemos crear un código erróneo. Vamos que tienes que conocer muy bien cada letra de sus propiedades. Será más sencillo escribir Private y usar el autocompletado del editor. Shordi: Ya veras cuando lo vean tus nietas. ( Si son pequeñas ). Saludos RE: Balloon, TrayIcon - Shell - 15-12-2022 Hice una pequeña modificación al código de Cogier. Uso el tipo Font, averiguo el ancho y el alto del texto y con esto aumento el ancho y el alto del formulario en un porcentaje. De paso decir que ahora me entero que las fuentes que son monoespaciadas no tienen negrita. Código: Private Label1 As Label |