Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-10-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Mostrar Balloon en TrayIcon

Hola amigos, lo que pretendo es que la aplicacion se oculte y aparezca un TrayIcon en la barra de tareas y al aparecer la TrayIcon muestre un Balloon y es ahi donde no doy con el modo de conseguirlo. ¿alguien me puede ayudar en eso?
Buscando por la red he visto que hacen esto en C++Builder:
Código PHP:
//TrayIcon->BalloonTitle = "Trabajando...";
//TrayIcon->BalloonHint = "La aplicación está realizando la operacion solicitada. Espera a que termine";
//TrayIcon1->BalloonFlags = bfInfo; 
No se en que version lo harán porque en C++Builder no existen esas propiedades. ¿como puedo hacerlo en C++Builder 6?
Responder Con Cita
  #2  
Antiguo 26-10-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Prueba este componente: SysTrayIcon trabaja con mensajes tipo Balloon, iconos animados en el systray, permite esconder de la barra de tareas nuestra app y reastaurarla.


Saludos.
Responder Con Cita
  #3  
Antiguo 26-10-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
gracias amigos, es genial que alguien que haya pensado en ello y lo haya solucionado lo comparta. Mañana lo pruebo y cuento que tal me fue.
Responder Con Cita
  #4  
Antiguo 26-10-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Amigo ¿como instalo el componente que indicas? he visto el demo y es justo lo que quiero pero no se como instalar el componente en la barra de tareas.
Responder Con Cita
  #5  
Antiguo 26-10-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
En el hilo que abrí para publicar el componente, indico como instalarlo desde el mismo Builder, mediante el menú Component > Install Component. En el nombre de la unit pones la ruta completa del archivo SysTrayIcon.cpp.

Saludos.
Responder Con Cita
  #6  
Antiguo 26-10-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Una cosa amigo, ¿tengo que guardar los archivos del componente en algun sitio permanentemente? ¿o una vez instalado no necesito esos archivos?
Otra cosa ¿donde se instala? lo he instalado y no lo encuentro por ningun sitio :-/

Última edición por aguml fecha: 26-10-2014 a las 14:40:35.
Responder Con Cita
  #7  
Antiguo 26-10-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Vale amigo, ya lo he instalado y he hecho la prueba que queria hacer:
Código PHP:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   
SysTrayIcon1->Minimize();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SysTrayIcon1Minimize(TObject *Sender)
{
   
Form1->Hide();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SysTrayIcon1Click(TObject *Sender)
{
   
SysTrayIcon1->Restore();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SysTrayIcon1Restore(TObject *Sender)
{
   
Form1->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormHide(TObject *Sender)
{
   
SysTrayIcon1->ShowBalloon("Titulo","Texto");
}
//--------------------------------------------------------------------------- 
Si lo pruebas veras que va genial la primera vez pero una vez haces clic en el TrayIcon y vuelves a probar ves que no se oculta la pestaña del proceso en la barra de tareas pero si aparece el bocadillo. ¿que puede estar pasando?
Responder Con Cita
  #8  
Antiguo 26-10-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Solucionado, he visto bien como lo hacias tu en el demo y lo he puesto igual y va joya.
Otra cosa amigo, ¿de donde sacastes los iconos para la animación? ¿tiene que ser de algun tipo especifico (.bmp, .ico, .gif...)?
Responder Con Cita
  #9  
Antiguo 27-10-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Veo que te has ido respondiendo las preguntas. Para aclararte lo de los iconos lee esto y experimenta.


Saludos.
Responder Con Cita
  #10  
Antiguo 09-04-2020
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Sé que este post es bastante antiguo pero no veo otro sitio mejor para preguntar.
Escafandra he estado mucho tiempo sin pc y a los años tengo uno y estoy intentando desempolvar proyectos y ahora tengo instalado Embarcadero 2010 y no veo la manera de instalar tu componente en el c++ builder. He probado todo lo que se me ocurrió y no sé cómo hacerlo ¿Podrías ayudarme? Gracias.
Responder Con Cita
  #11  
Antiguo 09-04-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No C++Builder 2010 pero no creo que sea muy distinto a instalarlo en Berlin.

He visto algún problema a la hora de compilar en Berlin:
1. Un Aviso por el uno de StrPLCopy que es obsoleta
2. Problema de Unicode con TNotifyIconData
3. Problema al esconder el icono de la Barra de tareas.

Todos los problemas están solucionados en la actualización TSysTrayIcon 4 para C++Builder que publico hoy

La forma de instalar el componente es similar a otras veces:
Menu->Component->Install Component Se escoge el archivo SysTrayIcon.cpp y elegir un Package Name


Para más información y descarga puedes visitar el hilo original del componente aquí.




Saludos.

Última edición por escafandra fecha: 09-04-2020 a las 18:16:23.
Responder Con Cita
  #12  
Antiguo 09-04-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Aprovecho para adaptar el componente para delphi Berlin. Para los que usen delphi y Builder, quizás sea más interesante instalas la versión delphi, que podrá usarse en Builder C++ sin problemas, así se evita la duplicidad del componente, cosa no permitida.


Saludos.
Responder Con Cita
  #13  
Antiguo 11-04-2020
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Muchas gracias. Luego lo intento a ver qué tal me va y te digo.
Responder Con Cita
  #14  
Antiguo 11-04-2020
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Amigo lo he intentado instalar pero se ve que algo ha cambiado en el modo de instalarlo. Voy a Component y me aparecen las opciones ”New VCL Component", "Create Component Template" (desactivado), "Install Packages", "Import Component", y "Import WSDL".
En "Install Packages" aparece una lista de componentes para instalar.
En "Import Component" tengo 3 opciones: Impirt a type library, Import ActiveX Control, Import .Net Assembly. Si lo intento por aquí me da error porque busca un dll o ocx.
Y en "Import WSDL" tampoco he podido.
Responder Con Cita
  #15  
Antiguo 12-04-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Tanto en BCB5, como BCB6 como Berlin, aparece la opción Install Component. Lo mismo ocurre en las distintas opciones de delphi que tengo. En tu versión ya no que que decirte pero no es lógico que en una versión intermedia desaparezca. Intenta a ver si lo han puesto en New Component y te dan la opción de usar un fuente ya escrito (SysTrayIcon.cpp). Otra sería compilarlo en Berlin y exportar el package a tu versión pero no se si la aceptará, me temo que no.


Saludos.
Responder Con Cita
  #16  
Antiguo 13-04-2020
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Lo he intentado desde Install component pero como dije sale una lista con los diferentes tipos de componentes y tienes que dar en alguno y en mi caso he elegido uno de tipo TComponent, una vez hago eso doy a siguiente y me sale una ventana donde elijo Class Name, Palette Page, Unit Name, y Search Path. Yo he puesto como nombre TSysTrayIcon, como paleta he elegido MIOS, como Unit Name le doy a los 3 puntos y elijo el .cpp de tu componente, y en Search Path no pongo nada y me crea un archivo .cpp con esto:
Código PHP:
//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "SysTrayIcon.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
// ValidCtrCheck is used to assure that the components created do not have
// any pure virtual functions.
//

static inline void ValidCtrCheck(TSysTrayIcon *)
{
    new 
TSysTrayIcon(NULL);
}
//---------------------------------------------------------------------------
__fastcall TSysTrayIcon::TSysTrayIcon(TComponentOwner)
    : 
TComponent(Owner)
{
}
//---------------------------------------------------------------------------
namespace Systrayicon
{
    
void __fastcall PACKAGE Register()
    {
        
TComponentClass classes[1] = {__classid(TSysTrayIcon)};
        
RegisterComponents(L"MIOS"classes0);
    }
}
//--------------------------------------------------------------------------- 
Y ahí ya me paro porque no creo que vaya bien y porque no se que mas hacer
No aparece la paleta MIOS ni nada.
Responder Con Cita
  #17  
Antiguo 13-04-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Esa opción es el wizard para crear un componente desde cero. A las malas lo puedes hacer y copiar el código del componente en ese nuevo... pero no me puedo creer que no tengas la opción de instalar componente. todas las versiones lo traen

El proyecto del Package del componente es el archivo mios.cbproj que está en la descarga, trata de abrirlo a ver si es compatible con tu versión BCB



Saludos.

Última edición por escafandra fecha: 13-04-2020 a las 19:00:23.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Delphi 7, hacer que los hints sean como balloon? Alejo15x Varios 5 11-09-2015 20:45:48
Trayicon en D7 Cecilio Varios 4 27-12-2008 15:59:36
Trayicon mjjj Varios 2 21-09-2007 00:35:16
Balloon de texto aeff API de Windows 10 20-10-2006 02:26:38
Again con los 'Globos' (Hints estilo Balloon) madman API de Windows 2 06-10-2003 22:29:13


La franja horaria es GMT +2. Ahora son las 13:25:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi