Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-10-2006
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
Talking Balloon de texto

Hola a todos los exploradores del foro del ClubDelphi, necesito saber si alguien me puede ayudar a hacer lo siguiente:

-> Mostrar un ballon de texto de los que salen desde un ícono del SystemTray, ya sea como advertencia, error o información.(en Delphi 5)

Nota: en C++Builder 6 lo puedo hacer fácil porque el registro "TNotifyIconData" tiene más campos que en Delphi 5, es posible que sea porque la API Shell_NotifyIcon no tenia esa función incorporada cuando salió Delphi 5, de todos modos,

gracias de antemano...
Responder Con Cita
  #2  
Antiguo 18-10-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Si conoces las llamadas al API para hacer esto, podes crear vos mismo una unidad que las realice y utilizar esta para tu propósito, aún en delphi 3.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 18-10-2006
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
Amigo(s), el problema no es hacer una unidad para que realice esta función, la puedo hacer pero no con la calidad de la original, el problema es que necesito que sea la función Shell_NotifyIcon, de Windows, la que muestre este balloon de texto, en C++Builder 6 la estructura TNotifyIconData tiene los siguientes parámetros:

DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
CHAR szTip[64];
CHAR szTip[128];
DWORD dwState;
DWORD dwStateMask;
CHAR szInfo[256];
UINT uTimeout;
UINT uVersion;
CHAR szInfoTitle[64];
DWORD dwInfoFlags;
GUID guidItem;

pero en Delphi 5 solo se han declarado los siguientes:

cbSize: DWORD;
Wnd: HWND;
uID: UINT;
uFlags: UINT;
uCallbackMessage: UINT;
hIcon: HICON;
szTip: array [0..63] of AnsiChar;

es decir, en Delphi 5 faltan parámetros en esta estructura, TNotifyIconData, y precisamente los que faltan son los que le indican a la función Shell_NotifyIconData las descripciones del balloon de texto.

por lo que necesito que alguien me ayude a hacer esto en Delphi 5, una vez lo intenté pero no me dió resultado.

Gracias nuevamente de antemano...
Responder Con Cita
  #4  
Antiguo 18-10-2006
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Quizas no me supe explicar bien. NO me refería a que hagas una notificación similar a la del ballon, construyendo una ventana y todo eso... a lo que me refiería es a que podes hacer vos una unidad que haga las declaraciones necesarias, que tal una TaeffNotifyIconData y que en esa unidad también importes las rutinas que haga falta del API para realizar la llamada usando tu estructura y no la original de delphi.

¿me explico ahora?

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 18-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Para empezar aquí te dejo como declarar la estructura TNotifyIconData:
Código Delphi [-]
type

  TNOTIFYICONDATA = record
    cbSize: DWORD;
    Wnd: HWND;
    uID: UINT;
    uFlags: UINT;
    uCallbackMessage: UINT;
    hIcon: HICON;
    szTip: array [0..127] of AnsiChar;
    dwState: DWORD;
    dwStateMask: DWORD;
    szInfo: array [0..255] of AnsiChar;
    uTimeout: UINT;
    szInfoTitle: array [0..63] of AnsiChar;
    dwInfoFlags: DWORD;
  end;

Las funciones son las mismas, al usar la nueva estructura y asignar el campo cbSize correctamente windows ya se da por enterado de que quieres usar los nuevos balones. Creo que ya no te hace falta nada mas, puede que alguna de estas constantes:

Código Delphi [-]
const
  NIF_INFO =  $00000010;
  NIIF_NONE = $00000000;
  NIIF_INFO = $00000001;
  NIIF_WARNING = $00000002;
  NIIF_ERROR = $00000003;
Responder Con Cita
  #6  
Antiguo 18-10-2006
Avatar de Zeta
Zeta Zeta is offline
Miembro
 
Registrado: feb 2005
Posts: 215
Poder: 20
Zeta Va por buen camino
Podrías probar con la suite de componentes JediVCL, que en la paleta NonVisual tiene un componente que se llama "JvBalloonHint" y es el tipo de ballonHint que buscas y se puede utilizar cambiando la propiedad "UseBallonAsApplicationHint" a true, y lo demás creo que lo sabes manejar bien.

Podrías bajarte el exe (el Mega Demo) con los ejemplos y allí podrás ver todo lo que JediVCL te ofrece
http://sourceforge.net/project/showf...group_id=45786


Saludos
__________________
And I'd like an hour on the holodeck with Seven of Nine.

Última edición por Zeta fecha: 18-10-2006 a las 23:05:01.
Responder Con Cita
  #7  
Antiguo 18-10-2006
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
Oye mister!!! muuuuuuuuuchaaaaaaaaaaaas gracias por haberme ayudado con este problema, te agradezco a ti a todos los que han colaborado para darme una respuesta.

su compañero del ClubDelphi, AEFF...
Responder Con Cita
  #8  
Antiguo 19-10-2006
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
El JvBalloonHint '¿Funciona, solamente, en los Windows XP o tambien
en windows 98, 95?


recuerdo lei que solo funciona en windows xp
o en windows NT, windows 2000
por que en esos Sistemas operativos, se implemento.
el mecanismo de mostrar el globito. balloon

vale gracias

Última edición por JXJ fecha: 19-10-2006 a las 00:54:16.
Responder Con Cita
  #9  
Antiguo 19-10-2006
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
Wink

Ok mister!!! gracias por la aclaración, solo tengo que calcular si el programa se está ejecutando sobre el subsistema Win32,

Hasta luego, aeff!!!
Responder Con Cita
  #10  
Antiguo 19-10-2006
Avatar de Zeta
Zeta Zeta is offline
Miembro
 
Registrado: feb 2005
Posts: 215
Poder: 20
Zeta Va por buen camino
En win98 funciona OK.
Me imagino que en win95 también, pero yo recomendaría por muchas cosas (seguridad) pasarse a un SO más nuevo, aunque es relativo.

Ahh, si querías el TrayIcon, en la misma paleta está el JvTrayIcon, que es lo que creo que también necesitabas.


Saludos
__________________
And I'd like an hour on the holodeck with Seven of Nine.

Última edición por Zeta fecha: 19-10-2006 a las 21:25:20.
Responder Con Cita
  #11  
Antiguo 20-10-2006
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
Dando las gracias

gracias por todo, de todas maneras ya resolví el problema...
Responder Con Cita
Respuesta



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
Como puedo grabar texto en un Archivo de Texto sin Sobreescribir???? AGAG4 Varios 12 08-11-2005 22:53:00
colocar texto merlin Impresión 2 30-03-2005 17:47:30
texto en dos pablo Varios 1 23-02-2005 07:13:41
Estilo del texto... mary123 HTML, Javascript y otros 2 21-02-2005 00:52:23
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 18:33:08.


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