PureBasic Tooltip länger als 57 Zeichen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Unsere Datenschutzerklärung wurde aktualisiert. Mit der Nutzung unseres Forums akzeptierst Du unsere Datenschutzerklärung. Du bestätigst zudem, dass Du mindestens 16 Jahre alt bist.

    • PureBasic Tooltip länger als 57 Zeichen

      Mir ist aufgefallen, daß bei Windows die Tooltips nur bis 57 Zeichen dargestellt werden. Bei Linux funktionierts, wie es soll.
      An Windows liegt es aber auch nicht. Mit XProfan kann ich problemlos sehr lange Tooltips mit Zeilenumbruch etc. erzeugen.

      Komisch... Kann dies jemand bestätigen bzw. weiß, wie man das umschiffen könnte?
      Gruß Jörg

      Ideen gibt es viele - man muß sie nur haben...
      XProfan X2.1, X3.1, X4.1 - XP-Pro SP2/3 & W7-Pro 64 - Mint Mate, AntiX
    • Such mal im deutschen oder im englischen Forum nach ToolTip, da wirste hunderte von Code-Beispielen finden. In erster Linie ist die Strukture zu ändern.

      Für plattformunabhängigen Code nutzte CompilerDirektiven!

      Quellcode

      1. CompilerSelect #PB_Compiler_OS
      2. CompilerCase #PB_OS_Linux
      3. ; Linux Code
      4. CompilerCase #PB_OS_Windows
      5. ; Windows Code
      6. CompilerEndSelect
      Gruß Thomas

      "Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."
      ComputerInfo für PPF
    • ok - das CompilerSelect benutze ich bereits bei anderen feinen Unterschieden zwischen Linux/Windows.
      Nun muß ich nur noch rauskriegen, wie das mit den ToolTips funktioniert - Ich stöber mal... ;-)
      Gruß Jörg

      Ideen gibt es viele - man muß sie nur haben...
      XProfan X2.1, X3.1, X4.1 - XP-Pro SP2/3 & W7-Pro 64 - Mint Mate, AntiX
    • Das CompilerSelect hab ich in erster Linie wegen dem CompilerCase statt Case eingefügt. Case ist hier nämlich falsch, funktioniert aber scheinbar :-D

      Mit den ToolTips oder auch BaloonTips wirste schon fündig. Da gibt es viele Varianten.
      Gruß Thomas

      "Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."
      ComputerInfo für PPF
    • Hab jetzt 2 Lösungsmöglichkeiten gefunden und auch erfolgreich getestet. Funktionieren mit allen Tooltips, die mit GadegetToolTip gebaut werden.

      Der ToolTip für das Systrayicon läßt sich damit nicht manipulieren. Scheint intern anders behandelt zu werden. Wird ja auch mit SystrayIconToolTip erstellt.

      eine funktionierende Variante als Beispiel, falls hier jemand bedarf hat:

      Quellcode

      1. EnableExplicit
      2. Global.i event,hWnd
      3. Import ""
      4. PB_Object_GetThreadMemory(obj)
      5. PB_Gadget_Globals
      6. EndImport
      7. Structure PB_GadgetGlobals
      8. CurrentWindow.i
      9. FirstOptionGadget.i
      10. DefaultFont.i
      11. *PanelStack.integer
      12. PanelStackIndex.l
      13. PanelStackSize.l
      14. ToolTipWindow.i
      15. EndStructure
      16. Procedure GetToolTipHandle()
      17. Protected *winObj.PB_GadgetGlobals
      18. *winObj = PB_Object_GetThreadMemory(PB_Gadget_Globals)
      19. ProcedureReturn *winObj\ToolTipWindow
      20. EndProcedure
      21. Procedure.l GadgetToolTipEx(Gadget, Text.s)
      22. Protected Info.TOOLINFO
      23. Protected hTip.i
      24. Protected hGadget.i
      25. hGadget = GadgetID(Gadget)
      26. If Not GetToolTipHandle()
      27. GadgetToolTip(Gadget, Text)
      28. EndIf
      29. hTip = GetToolTipHandle()
      30. Info\cbSize = SizeOf(TOOLINFO)
      31. Info\uFlags = #TTF_SUBCLASS|#TTF_IDISHWND
      32. Info\hWnd = hGadget
      33. Info\uID = hGadget
      34. Info\hInst = GetModuleHandle_(0)
      35. Info\lpszText = @Text
      36. SendMessage_(hTip, #TTM_ADDTOOL, 0, @Info)
      37. SendMessage_(hTip, #TTM_SETMAXTIPWIDTH, 0, 1024)
      38. ProcedureReturn #True
      39. EndProcedure
      40. Procedure Main()
      41. hWnd = OpenWindow(0, #PB_Ignore, #PB_Ignore, 300, 200, "")
      42. ImageGadget(0, 20, 20, 150, 150,0, #PB_Image_Border)
      43. GadgetToolTipEx(0, "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25" + Chr(13) + "5,1,015,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100")
      44. Repeat
      45. event = WaitWindowEvent()
      46. Until event = #PB_Event_CloseWindow
      47. EndProcedure:End Main()
      Alles anzeigen
      Gruß Jörg

      Ideen gibt es viele - man muß sie nur haben...
      XProfan X2.1, X3.1, X4.1 - XP-Pro SP2/3 & W7-Pro 64 - Mint Mate, AntiX