Seite 1 von 1

GadgetToolTip verschwindet und kommt nicht wider.

Verfasst: 06.12.2005 10:25
von Jake
Hallo,

wenn ich die Maus über das Gadget halte erscheint der ToolTip wie er soll. Wenn man dann aber die Maus so lange nicht bewegt bis er automatisch verschwindet, kommt er nie wieder.
Wieso?
Bei allen anderen Windows-Anwendungen ist das doch auch nicht.

Hier zum Testen:

Code: Alles auswählen

OpenWindow(0,0,0,200,200,#PB_Window_ScreenCentered|#PB_Window_SystemMenu,"TEST")
CreateGadgetList(WindowID(0))
StringGadget(0,10,10,180,180,"Test",#PB_String_MultiLine)
GadgetToolTip(0,"Hallo")

Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
Irgendwie habe ich das Gefühl das liegt an PB.

EDIT:
Habe ich vergessen! Ich nutze WinXP Prof (SP2).
Mit den BaloonTips aus dem VisualDesigner ist es das gleiche.

EDIT2:
Mir ist gerade aufgefallen das ich das Problem schon mal gepostet hatte. Das ist halt schon ein bischen her.
Zu diesem Zeitpunkt hatte Niemand eine Lösung ich hoffe Jemand hat jetzt eine.

Verfasst: 06.12.2005 10:57
von javabean
Also, bei mir (Win2k; PB3.93) funktioniert es.

Verfasst: 06.12.2005 12:14
von bobobo
tooltip geht wie erwartet auf PB 3.94 auf XP Pro sp2

Verfasst: 06.12.2005 12:54
von AND51
also ich habe win xp sp1+2
und es geht nicht.

ich kann zwar den tooltip sooft aufrufen wie ich will, also so wie das problem geschildert wurde, gehts.

schreibe ich jedoch etwas in das StringGadget() und editiere es noch mehrmals und fahre mit der Maus wieder drüber, jkommt das ToolTippchen nicht mehr wieder. Wahrscheinlich hat es mich nicht mehr lieb.

Oder kann es daran liegen, dass man daas Fenster "ab und zu" irgendwie neu zeichnen (repaint von fenstern, als stichwort) muss? wenn ja, warum und wie geht das? oder hilft es, in regelmäßigen abständen das gadget neu zu erstellen (selben parameter und so) oder einfach nur das tooltip regelmäßig neu erstellen?

Verfasst: 06.12.2005 13:38
von Jake
AND51 hat geschrieben:Oder kann es daran liegen, dass man daas Fenster "ab und zu" irgendwie neu zeichnen (repaint von fenstern, als stichwort) muss? wenn ja, warum und wie geht das? oder hilft es, in regelmäßigen abständen das gadget neu zu erstellen (selben parameter und so) oder einfach nur das tooltip regelmäßig neu erstellen?
Daran habe ich auch schon gedacht aber das wirkt sich nicht auf den ToolTip aus. Habs mit RedrawWindow_ und UpdateWindow_ probiert.
Den ToolTip hatte ich auch schon in der Schleife aber nichts hilft.

Verfasst: 06.12.2005 13:44
von AND51
kannst du mir mehr zu den updatewindow_() erklären?

Verfasst: 06.12.2005 14:53
von bobobo
ich nochmal

1. also das Programm laufen lassen . Maus ins Gadget = Tooltip erscheint

2. Tooltipverschwindezeit abwarten bis Tooltip verschwindet (tvzabTv)

3. Maus raus ..Maus rein = ToolTip erscheint

4. tvzabTv

5. editieren editieren (hier erscheint natürlich kein Tooltip)

6. Maus raus Maus rein = Tooltip erscheint
7. tvzabTv
Maus raus Maus rein = ToolTip erscheint

u.s.w.


alles normal so wie sein soll (oder so wie ich es kenne)


Ich habe NICHT die XP-Ansicht an sondern die klassische.
Der Designdienst ist deaktiviert.

Verfasst: 06.12.2005 16:47
von Batze
Bei mir geht auch alles. :?
(XP)

Verfasst: 06.12.2005 18:59
von Jake
bobobo hat geschrieben:1. also das Programm laufen lassen . Maus ins Gadget = Tooltip erscheint

2. Tooltipverschwindezeit abwarten bis Tooltip verschwindet (tvzabTv)

3. Maus raus ..Maus rein = ToolTip erscheint

4. tvzabTv

5. editieren editieren (hier erscheint natürlich kein Tooltip)

6. Maus raus Maus rein = Tooltip erscheint
7. tvzabTv
Maus raus Maus rein = ToolTip erscheint

u.s.w.


alles normal so wie sein soll (oder so wie ich es kenne)


Ich habe NICHT die XP-Ansicht an sondern die klassische.
Der Designdienst ist deaktiviert.
Genau so meine ich das. Habe die XP-Skin mal ausgeschaltet und dann geht es bei mir auch.
Dann frage ich mich wieso es mit dem Schließen Knopf funktioniert. Alle anderen Anwendungen die ich auf meinem Rechner habe haben das Problem auch nicht nur PureBasic.

@And51
PSDK hat geschrieben:UpdateWindow
The UpdateWindow function updates the client area of the specified window by sending a WM_PAINT message to the window if the window's update region is not empty. The function sends a WM_PAINT message directly to the window procedure of the specified window, bypassing the application queue. If the update region is empty, no message is sent.

BOOL UpdateWindow(
HWND hWnd // handle to window
);
Parameters
hWnd
[in] Handle to the window to be updated.
Return Values
If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero.

Windows NT/2000/XP: To get extended error information, call GetLastError.
UpdateWindow_(WindowID(#Window))

Wenn du den Befhel in die Repeat:Until Schleife packst, flackert das Fenster du mußt das Nutzen wenn es nötig ist und nicht bei jedem Schleifendurchlauf. Aber es gibt auch noch RedrawWindow_() steht auch im PSDK und ganz of hier im Board. Letztere kann auf jeden Fall auch nur ein Gadget neu Zeichnen.