Ciao a tutti..

Io ho fatto una funzione usando un API di windows che mi crea una tray icon e mi fa apparire una balloon tip però non riesco a associarli un evento..
Mi spiego meglio, questa e la funzione :

codice:
void ShowBalloonTip(unsigned short Visible, unsigned short Icon, String Title, String Message)
{
        NOTIFYICONDATA m_nid;
        m_nid.cbSize=sizeof(NOTIFYICONDATA);
        m_nid.hWnd= Application->Handle;
        m_nid.uID= 100;
        m_nid.uFlags = NIF_TIP | NIF_ICON |NIF_INFO | NIF_MESSAGE;
        m_nid.uCallbackMessage= WM_USER+1;
        m_nid.hIcon= Application->Icon->Handle;
        m_nid.uTimeout = 200;
        m_nid.dwInfoFlags = Icon;
        lstrcpy(m_nid.szInfo,Message.c_str());
        lstrcpy(m_nid.szInfoTitle,Title.c_str());
        lstrcpy(m_nid.szTip,"Gestione Telefonia Message");
        Shell_NotifyIcon(Visible, &m_nid);
}
richimandola con Visibile = NIM_ADD mi crea una tray icon e mi fa apparire una Balloon Tip con il messaggio mandato da parametro, io voglio associare un evento (tipo ButtonClik) per eseguire del codice quando l'utente clicca sul messagio o sulla tray icon..

Io uso Borland C++ e ho trovato poco in giro, ho visto che con Visual C++ usando solo le API basta stare in ascolto dei messaggi (WM_MBUTTONDOWN) con l'ID, nel parametro wParam, uguale a quello del tray icon pero qui come faccio? le VCL di borland non permettono di stare in ascolto dei messaggio ho sbaglio? ce un modo per mettermi in ascolto dei messaggi e con un IF eseguire del codice quando in wParam ce ID del tray icon?

Spero di essermi spiegato bene ..

Grazie in anticipo per le eventuali risposte..