API Spinnt ....
Verfasst: 30.01.2005 12:35
Hallo,
ich habe ein großes Problem mit der WinApi bei BalloonToolTips und denke das dieses Problem auch nicht so einfach lösbar sein wird ...
Also, ich habe auf das Window von meinem Player ein BalloonToolTip gelegt für leute die Infos über das aktuelle Lied möchten fahren mit der Maus einfach auf das Fenster. Nun muß ich das BalloonToolTip immer bei einem neuen lied updaten.
Ich erstelle das BalloonToolTip mit volgendem Code:
Nach einem Tip von Falko konnte ich das Aktuelle BalloonToolTip löschen:
Dabei gab es allerdings das Problem, dass das BalloonToolTip nach einiger Zeit nicht mehr gelöscht wurde und ich beim MouseOver 2 ToolTips angezeigt bekam. Ich habe in der MSSDK gestöbert und volgenden code daraus gewonnen:
Damit musste ich nicht immer das alte löschen. Ich dachte damit klappts, aber auch daraus wurde nix. Nach einiger zeit wurde dass ToolTip dann nicht mehr Upgedatet .....
Solangsam bin ich mit meinem Latein am ende .... liegt dass jetzt an PB oder an der WinAPI??
Danke
Lukaso
ich habe ein großes Problem mit der WinApi bei BalloonToolTips und denke das dieses Problem auch nicht so einfach lösbar sein wird ...
Also, ich habe auf das Window von meinem Player ein BalloonToolTip gelegt für leute die Infos über das aktuelle Lied möchten fahren mit der Maus einfach auf das Fenster. Nun muß ich das BalloonToolTip immer bei einem neuen lied updaten.
Ich erstelle das BalloonToolTip mit volgendem Code:
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)
Balloon.TOOLINFO\cbSize = SizeOf(TOOLINFO)
Balloon\uFlags = #TTF_IDISHWND | #TTF_SUBCLASS
Balloon\hwnd = WindowID(windowID)
Balloon\uId = WindowID(windowID)
Balloon\lpszText = @balloonText$
SendMessage_(hBalloonTip, #TTM_ADDTOOL, 0, Balloon)
SendMessage_(hBalloonTip, #TTM_SETDELAYTIME, #TTDT_AUTOPOP, 10000)
If balloonTitle$ > ""
SendMessage_(hBalloonTip, #TTM_SETTITLE, balloonIcon, @balloonTitle$)
EndIf
EndProcedure
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
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
Solangsam bin ich mit meinem Latein am ende .... liegt dass jetzt an PB oder an der WinAPI??
Danke

Lukaso
