Seite 1 von 1

BalloonToolTip Doppelt

Verfasst: 24.01.2005 19:59
von Lukaso
Hallo,

ich benutze ein BalloonToolTip für meinen Player wo der Benutzer für Informationen zum Lied einfach nen MouseOver durchfürhren muss.

Ich Lösche immer den alten ToolTip bevor ich einen neuen setze. Dies mache ich beim Laden des Liedes.

Code: Alles auswählen

Procedure BalloonTipWindow(windowID, balloonText$, balloonTitle$, balloonIcon)
  hBalloonTip = CreateWindowEx_(0, "ToolTips_Class32", "", #WS_POPUP | #TTS_NOPREFIX, 0, 0, 0, 0, 0, 0, GetModuleHandle_(0), 0) 
  SendMessage_(hBalloonTip, #TTM_SETTIPTEXTCOLOR, RGB(0, 0, 0), 0)
  SendMessage_(hBalloonTip, #TTM_SETTIPBKCOLOR, RGB(150, 150, 150), 0)
  myBalloon.TOOLINFO\cbSize = SizeOf(TOOLINFO) 
  myBalloon\uFlags = #TTF_IDISHWND | #TTF_SUBCLASS
  myBalloon\hwnd = WindowID(windowID)
  myBalloon\uId = WindowID(windowID)
  myBalloon\lpszText = @balloonText$
  SendMessage_(hBalloonTip, #TTM_ADDTOOL, 0, myBalloon) 
  SendMessage_(hBalloonTip, #TTM_SETDELAYTIME, #TTDT_AUTOPOP, 10000) 
  If balloonTitle$ > ""
    SendMessage_(hBalloonTip, #TTM_SETTITLE, balloonIcon, @balloonTitle$) 
  EndIf 
EndProcedure 
Den Code zum löschen habe ich mal von Falko bekommen :allright:

Code: Alles auswählen

Procedure DelBalloonTipWindow(windowID)
  Balloon.TOOLINFO\cbSize = SizeOf(TOOLINFO) 
  Balloon\hwnd = WindowID(windowID) 
  Balloon\uId = WindowID(windowID) 
  SendMessage_(hBalloonTip, #TTM_DELTOOL, 0, Balloon) 
EndProcedure 
Mein Problem ist allerdings, dass manchmal das ToolTip nicht richtig gelöscht wird und ich dann 2 angezeigt bekomme. Ich habe es auch probiert DelBalloonTipWindow() mehrmals aufzurugen, bringt aber nix.

Kann mir jemand helfen?

Danke :allright:

Lukaso

Verfasst: 24.01.2005 21:23
von Lukaso
Habs jetzt hinbekommen.

Code: Alles auswählen

Procedure UpdateBalloonTipWindow(windowID, balloonText$)
  Balloon.TOOLINFO\cbSize = SizeOf(TOOLINFO)
  Balloon\hwnd = WindowID(windowID) 
  Balloon\uId = WindowID(windowID)
  Balloon\lpszText = @balloonText$
  SendMessage_(hBalloonTip, #TTM_UPDATETIPTEXT, 0, Balloon)
EndProcedure 
MFG Lukaso