Ballon Tool Tip mit schließen Button?



  • Hi,
    Ist es irgendwie relativ einfach möglich ein schliesen Button zu einem Ballon Tip hinzuzufügen?
    Ich habe ein TrayIcon mit einem Ballon Tip.

    void Show_BallonTip(HWND hwnd, char *Text, char *Title, DWORD Icon)
    {
    	NOTIFYICONDATA IconData = {0};
    
    	IconData.cbSize = sizeof(IconData);
    	IconData.hWnd = hwnd;
    	IconData.uID    = ID_ICON1;
    	IconData.uFlags = NIF_INFO;
    	strcpy(IconData.szInfo, Text);
    	strcpy(IconData.szInfoTitle, Title);
    	IconData.dwInfoFlags = Icon;
    
    	IconData.uTimeout = 15000; // in milliseconds
    
    	Shell_NotifyIcon(NIM_MODIFY, &IconData);
    }
    

    Laut MSDN hat uTimeout einen bestimmten minimalen und maximalen Wert. Ich möchte aber das das Ballon Tip solange angezeigt wird bis der User es auch gesehen hat und geschlossen hat. Oder wird die Zeit nicht runtergezählt wenn z.B. die Maus nicht bewegt wird und nix auf der Tastatur geschrieben wird also der Rechner gerade inaktiv ist?
    Hoffe ihr versteht was ich will 🙂

    MfG schirrmie


  • Mod

    Wie Du schon gelesen hast geht das nicht. Das Minimum liegt bei 10 Sekunden und das Maximum bei 30 Sekunden. Das lässt sich IMHO nicht beeinflussen. Oder Du baust Deine eigene Implementierung.
    Die Zeit wird gezählt ab dem Moment in dem der Balloontip angezeigt wird.

    Das ganze wird in den Anmlerungen ziemlich genau erklärt. Die Ursache für dieses Verhalten ist einfach: Es gibt eben immer nur ein Balloontip! Insofern ist es eine shared Ressource und Du kannst nicht alleine darüber verfügen.

    Wenn Du willst das der User etwas mitbekommt und schliessen soll, nimm eine MessageBox!



  • Danke für die Antwort und sowas habe ich mir schon gedacht, leider. Naja ne MessageBox ist nicht so schön und kann ganz schön nerven. Es ist auch nicht sooo wichtig wäre aber schön gewesen. Das Icon verändert sich ja auch noch dann muss der User daran sehen das was nicht stimmt 😉
    Danke.
    MfG schirrmie


Log in to reply