FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Duda con TrayIcon
Saludos a todos los del Foros
Tengo una duda que quizas alguno de ustedes me puedan ayudar el problema es que yo inserto en mi Form un TrayIcon y un ImageList... - En el ImageList inserto varias imagenes, - En el TrayIcon pongo su Propiedad ... Icons=ImageList1; Animate=true; Pero cuando ejecuto mi aplicacion el icono enpieza animarze pero cuando llega a la ultima imagen que yo puse que va a empezar por la primera se queda un momento en blanco, Si alguien supiera como solucionar esto se lo agradeceria mucho, seguro estoy que otras personas tambien lo agradecerian. [Saludo]... |
#2
|
||||
|
||||
yelian, asumiendo que el TTrayIcon al que te refieres es el ejemplo que viene en el Builder, y teniendo claro este asunto para los interesados en este hilo, te diré que ese Componente no es mas que un ejemplo de como implementarlos en C++ Builder. Como ejemplo, puede estar un poco deficitario y de hecho lo está.
El problema que expones se deriva de un bug, si así queremos considerarlo. En el código fuente podemos encontrar la función miembro que se encarga de animar el cursor: Código:
//--------------------------------------------------------------------------- void __fastcall TTrayIcon::DoOnAnimate(TObject *Sender) { if (IconIndex < FIconList->Count) FIconIndex++; else FIconIndex = 0; SetIconIndex(FIconIndex); Update(); } Para corregir este bug, basta con dejarlo así: Código:
//--------------------------------------------------------------------------- void __fastcall TTrayIcon::DoOnAnimate(TObject *Sender) { if (IconIndex < FIconList->Count - 1) FIconIndex++; else FIconIndex = 0; SetIconIndex(FIconIndex); Update(); } Última edición por escafandra fecha: 02-03-2009 a las 19:28:57. |
#3
|
|||
|
|||
Gracias escafandra;
Pero donde pongo ese codico que me diste estuve buscando pero no encontre donde se pone, si fueras tan amable de decirme... |
#4
|
||||
|
||||
CBuilder\Examples\Controls\Source\trayicon.cpp
Saludos. |
#5
|
|||
|
|||
Gracias escafandra, que bobo soy no me fije que era en el evento OnAnimate
gracias... |
#6
|
|||
|
|||
MOstrar Ballonhint en TrayIcon
Buenas tardes,
Escanfandra! volvemos a encontrarnos,,, Hablando ahora de trayicons, necesito saber que componente para C++ Builder 6 podria utilizar para obtener un ballonhint en el trayicon. luego que pueda darle click, y ejecute alguna opción, He intentado con el de LMDtrayicon, y con el Trayicon y ninguno tiene el metodo ShowHint,,,,,,cual lo tiene??' Gracias!! |
#7
|
||||
|
||||
El TtrayIcon que viene de ejemplo con el Builder 5, e imagino que será similar al Builder 6, No puede representar balones de texto estilo XP, pero si muestra el Hint clásico.
Para mostrar un balón de texto, añade una nueva función miembro publica: Código:
//--------------------------------------------------------------------------- // Muestra un Balón de texto en el icono de la barra de tareas //--------------------------------------------------------------------------- void __fastcall TTaskBarIcon::ShowBalloon(AnsiString Titulo, AnsiString Texto) { FData.cbSize = sizeof(FData); FData.uFlags = NIF_ICON | NIF_INFO; strcpy(FData.szInfoTitle, Titulo.c_str()); strcpy(FData.szInfo, Texto.c_str()); FData.dwInfoFlags = NIIF_INFO; Shell_NotifyIcon(NIM_MODIFY, &FData); } Al hacer click no realiza ninguna acción. Puedes representar menus para ello. Saludos. |
#8
|
|||
|
|||
Muchas Gracias!!
Muchas gracias,
Dos preguntas: 1. Me esta saliendo undefined symbol Fdata, debo incluir algo mas? 2. Si quisiera adicionarle un evento de click al ballonhint, se podría hacer de alguna manera? Muchas gracias!!!! |
#9
|
||||
|
||||
JuanErasmo, Esa función debes colocarla como función miembro de TTrayIcon del ejemplo del Builder, es decir modificar el fuente y la cabecera para añadir la función que en tu caso se debería llamar:
Código:
void __fastcall TTrayIcon::ShowBalloon(AnsiString Titulo, AnsiString Texto) Cita:
Fdata es una propiedad privada de TTrayIcon. Si el código no lo añadiste al componente, lógicamente no está definido. Este balón no es sensible a eventos. Saludos. Última edición por escafandra fecha: 10-03-2009 a las 16:08:40. |
#10
|
|||
|
|||
No entiendo como se puede hacer,,,,
abrí el demo de Trayicon, pero no veo la forma de integrar lo que me dices.... Gracias! |
#12
|
|||
|
|||
Hé modificado estas fuentes,
Hola,
hé modificado las fuentes, pero no he conseguido invocar la función, agregué en el trayicon.cpp la funcion, y en el trayicon.h la definición, pero cuando intento llamar el metodo no es visible.... estoy modificando el demo de builder, pero no consigo nada,,,, me falta modificar algun otro archivo? Gracias! |
#13
|
||||
|
||||
El proyecto de los controles de ejemplo se llama bcbsmp50.bpk, al menos en mi BCB 5.
Una vez añadida la función, complia el proyecto y usa el control visual como otro mas.... Me dices como te ha ido. Saludos. |
#14
|
||||
|
||||
Gracias amigos no formaba parte de este debate pero he estado al tanto de el, y de paso así decirlo, he podido resolver algunos problemillas que tenia GRACIAS a todos
Escafandra Juan Eramos Yelian Por las respuestas y por las preguntas jajajajajajaja. ;-)
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código. Cuando miras fijamente al abismo, este te devuelve la mirada oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_ oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_ oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_ oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_ oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_ ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_ ________________________________________________________________________________ |
#15
|
|||
|
|||
Ayuda Con Trayicon
busqué por todos lados y no encontré como hacerlo en mi programa hecho en c++ builder!
alguien me ayuda? necesitaría q al minimizarse se oculte en la barra de tareas! |
#16
|
||||
|
||||
¿Ocultar de la barra de tareas?
Código:
Visible = false; |
#17
|
||||
|
||||
Perdón, no te entendí bien. ¿Te refieres al uso del TrayIcon?. ¿Quieres que al minimizar tu aplicación no aparezca en la barra de tareas pero si en el SysTry?.
Bueno, si las respuestas son afirmativas, entonces debes realizar lo siguiente: Cambia esta función: Código:
void __fastcall TTrayIcon::Minimize() { Application->Minimize(); ShowWindow(Application->Handle, SW_HIDE); if (FOnMinimize) FOnMinimize(this); } Código:
void __fastcall TTrayIcon::Minimize() { Application->Minimize(); if(FHide) ShowWindow(Application->Handle, SW_HIDE); if (FOnMinimize) FOnMinimize(this); } Saludos. |
#18
|
|||
|
|||
no entendi, pero si te paso mi fuente me lo haces?
|
#20
|
|||
|
|||
soy nuevo, no sabia de la existencia de ese tipo de rules.
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TrayIcon y su Popup | gluglu | Varios | 17 | 01-11-2011 21:36:37 |
Trayicon en D7 | Cecilio | Varios | 4 | 27-12-2008 15:59:36 |
TrayIcon y PopupMenu | gluglu | API de Windows | 1 | 24-07-2008 00:19:43 |
Trayicon | mjjj | Varios | 2 | 21-09-2007 00:35:16 |
Problemas con TRAYICON!! | marceloalegre | Varios | 3 | 07-06-2005 17:49:07 |
|