none
Win10 Info-Center: Shell_NotifyIcon(...) schneidet Tooltips ab RRS feed

  • Frage

  • Shell_NotifyIcon(...) schneidet den Text in der Tooltip-Anzeige seit Windows 10 nach 4 Zeilen ab.
    Unter Windows 7, 8, 8.1 werden 5 Zeilen dargestellt.

    Im Info-Center unter Windows 10 ist leider auch nur die abgeschnittene Info enthalten (hier eben bis zur Zeile 4), nicht etwa der vollständige Info-Text, der übergeben wurde.
    Die Struktur NOTIFYICONDATA ist vor dem Funktionsaufruf korrekt gefüllt.

    Laut Microsoft sind für den Infotext bis zu 255 Zeichen möglich (256 abzüglich Stringterminator), siehe NOTIFYICONDATA structure.

    Kennt jemand nähere Infos hierzu? Ist es ein Bug oder ein Feature?!? ;-)

    Sample:

    
      NOTIFYICONDATA n      = {0};
      n.uVersion		= NOTIFYICON_VERSION;
      n.cbSize		= sizeof(NOTIFYICONDATA);
      n.hWnd	        = hWndMainWindow;
      n.uID			= MyIconID;
      n.uFlags		= NIF_INFO;
      n.uTimeout		= 20000;
      n.dwInfoFlags	        = NIIF_INFO;
    
      _tcscpy_s( n.szInfoTitle, _countof( n.szInfo ), _T("Info"));
      _tcscpy_s( n.szInfo, _countof( n.szInfoTitle ), _T"Zeile 1\nZeile 2\nZeile 3\nZeile 4\nZeile 5\n"));
      Shell_NotifyIcon(NIM_MODIFY, &n);
    
    Zeile 1-4 werden unter Windows 10 angezeigt, der Rest fehlt.

    Danke im Voraus.

    Gruß Carsten

    

    Montag, 14. Dezember 2015 13:58

Antworten

  • Ich denke da wirst Du mit Leben müssen.

    Ein kleiner Hinweis, der "Tooltip" und die "Sprechblase", sind bei einem Icon in System Area zwei verschiedene Dinge. Der Tooltip zeigt auch jetzt noch mehr wie 4 Zeilen an. Der Tooltip ist das was angezeigt wird, wenn die Maus einen Moment über dem Icon verweilt.

    Die Sprechblase zeigt halt irgendwelche Stati an um auf was aufmerksam zu machen... und d ist bei 4 Zeilen schluß. Das habe ich getestet und das ist auch bei mir so.


    Best regards

    Bordon

    Note: Posted code pieces may not have a good programming style and may not perfect. It is also possible that they do not work in all situations. Code pieces are only indended to explain something particualar.

    Donnerstag, 17. Dezember 2015 16:17
  • Hallo,

    ich habe nun gefunden, woran das liegt.

    Microsoft wandelt Tooltips ab Windows 10 automatisch in Toast-Benachrichtigungen um. Die Toasts können wohl nicht so viel anzeigen.

    Aber es gibt die Möglichkeit, die Toasts wieder zu deaktivieren und Sprechblasen anzeigen zu lassen. Hierzu ist eine Gruppenrichtlinie zu ändern :-(
    weitere Informationen

    Das funktioniert mit einer Ausnahme:
    Die Sprechblase wird nicht am Systray-Icon angezeigt, sondern ganz links oben am Bildschirm :-D
    Auch nicht das Wahre.

    Hat jemand noch einen Tip hierzu? ;-)

    Donnerstag, 17. Dezember 2015 14:36

Alle Antworten

  • Hallo CJohann,

    Zeile 1-4 werden unter Windows 10 angezeigt, der Rest fehlt.

    Ändert sich etwas, wenn Du den Wert von uVersion auf NOTIFYICON_VERSION_4 festlegst?

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Dienstag, 15. Dezember 2015 13:53
    Administrator
  • Hallo Dimitar,

    danke für den Tip.

    eine Umstellung der uVersion auf NOTIFYICON_VERSION_4 ändert an dem Anzeigeverhalten leider nichts. Ich vermute, dass Windows 10 aus Platzgründen im Tooltip nicht mehr darstellt.

    Leider sind die Daten im Infocenter auch abgeschnitten, zumindest hier hätte ich den gesamten Text erwartet.

    Gruß,
    Carsten

    Dienstag, 15. Dezember 2015 15:01
  • Die Begrenzung ist fest vorgeben. Du hast nur 255 Zeichen durch die Struktur.

    Du kannst aber sicherlich einen eigenen Ballon-Tip anzeigen:

    http://www.codeproject.com/Articles/4993/Windows-balloon-tool-tip-and-the-taskbar-notificat


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de

    Mittwoch, 16. Dezember 2015 08:33
    Moderator
  • Ich verwende eine ähnliche Programmlogik mit Kontextmenü, etc... Dennoch werden auch mit diesem Beispiel die Daten nicht vollständig angezeigt (ich habe es soeben ausprobiert). In dem Codebeispiel wird ebenfalls ShellNotifyIcon(...) verwendet.

    Meine Tooltip-Anzeige funktioniert soweit. Die Anzahl der Zeichen, die ich im Tooltip anzeigen möchte beträgt etwa 80 Zeichen. Ich bin also weit von den 255 Zeichen entfernt.

    Leider ist das noch nicht die Lösung ;-)

    Mittwoch, 16. Dezember 2015 10:10
  • Ich würde Dir empfehlen auf Microsoft connect einen Bug zu melden. Für mich hört sich das schon merkwürdig an, zumal Dein Beispielcode oben in diesem Thread weit von der Zeichenbegrenzung weg ist. Ich habe es ja eher so verstanden dass es ein Problem is mit einer Zeilenanzahl >5.

    Ich würde in Connect ein Beispielcode einstellen, mit vergleichenden SWcreenshots aus Win7 und Win10. Vielleicht fehlt irgendeine Info zur Nutzung von Shell_NotifyIcon in Bezug auf Windows 10?

    Wenn Du auf Connect einen Issue erzeugst, kannst du den mal auch hier posten. Ich denke das Problem (und dann auch die Lösung) könnte für andere ebenfalls interessant sein.


    Best regards

    Bordon

    Note: Posted code pieces may not have a good programming style and may not perfect. It is also possible that they do not work in all situations. Code pieces are only indended to explain something particualar.

    Donnerstag, 17. Dezember 2015 06:12
  • Hallo,

    ich habe nun gefunden, woran das liegt.

    Microsoft wandelt Tooltips ab Windows 10 automatisch in Toast-Benachrichtigungen um. Die Toasts können wohl nicht so viel anzeigen.

    Aber es gibt die Möglichkeit, die Toasts wieder zu deaktivieren und Sprechblasen anzeigen zu lassen. Hierzu ist eine Gruppenrichtlinie zu ändern :-(
    weitere Informationen

    Das funktioniert mit einer Ausnahme:
    Die Sprechblase wird nicht am Systray-Icon angezeigt, sondern ganz links oben am Bildschirm :-D
    Auch nicht das Wahre.

    Hat jemand noch einen Tip hierzu? ;-)

    Donnerstag, 17. Dezember 2015 14:36
  • Ich denke da wirst Du mit Leben müssen.

    Ein kleiner Hinweis, der "Tooltip" und die "Sprechblase", sind bei einem Icon in System Area zwei verschiedene Dinge. Der Tooltip zeigt auch jetzt noch mehr wie 4 Zeilen an. Der Tooltip ist das was angezeigt wird, wenn die Maus einen Moment über dem Icon verweilt.

    Die Sprechblase zeigt halt irgendwelche Stati an um auf was aufmerksam zu machen... und d ist bei 4 Zeilen schluß. Das habe ich getestet und das ist auch bei mir so.


    Best regards

    Bordon

    Note: Posted code pieces may not have a good programming style and may not perfect. It is also possible that they do not work in all situations. Code pieces are only indended to explain something particualar.

    Donnerstag, 17. Dezember 2015 16:17