Seite 3 von 5
Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.
Verfasst: 25.05.2011 15:45
von Frabbing
Poste mal einen Mini-Code dazu, kann doch sonst niemand nachvollziehen.
Und probier mal:
http://www.youtube.com/watch?v=o5EXZybX4Hs
Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.
Verfasst: 25.05.2011 15:49
von ts-soft
Frabbing hat geschrieben:Poste mal einen Mini-Code dazu
Code: Alles auswählen
OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "minicode")
SetCursor_(LoadCursor_(0, #IDC_WAIT))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.
Verfasst: 25.05.2011 15:53
von RSBasic
ts-soft hat geschrieben:Frabbing hat geschrieben:Poste mal einen Mini-Code dazu
Code: Alles auswählen
OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "minicode")
SetCursor_(LoadCursor_(0, #IDC_WAIT))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Das funktioniert bei mir auch nicht.
Versuchs damit:
Code: Alles auswählen
EnableExplicit
Define EventID
If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
SetClassLongPtr_(WindowID(0),#GCL_HCURSOR, LoadCursor_(0, #IDC_WAIT))
Repeat
EventID=WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.
Verfasst: 25.05.2011 16:02
von ts-soft
RSBasic hat geschrieben:Das funktioniert bei mir auch nicht.
Versuchs damit:
Es geht darum den Tipp von Frank zu nutzen, das das andere geht war mir klar

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.
Verfasst: 25.05.2011 16:05
von rolaf
ts-soft hat geschrieben:OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "minicode")
SetCursor_(LoadCursor_(0, #IDC_WAIT))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow[/code]
Ok, dein Code geht nicht,
ist aber dafür irgendwie auch nicht sinnvoll. Wird ja nur eingesetzt wenn was passiert, aber bei dir passsiert nix was zum Warten Anlass gibt. Ich habs so probiert, und so gehts.
Code: Alles auswählen
SetCursor_(LoadCursor_(0, #IDC_WAIT))
Delay(5000)
SetCursor_(LoadCursor_(0, #IDC_ARROW))
Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.
Verfasst: 25.05.2011 16:09
von RSBasic
rolaf hat geschrieben:Code: Alles auswählen
SetCursor_(LoadCursor_(0, #IDC_WAIT))
Delay(5000)
SetCursor_(LoadCursor_(0, #IDC_ARROW))
Meinst du, dass der Mauscursor sich deshalb ändert? Glaube ich nicht.
Wenn ich einfach nur folgendes ausführe:
Code: Alles auswählen
OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "minicode",0)
Delay(5000)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Dann habe ich automatisch meinen Wait-Cursor.
Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.
Verfasst: 25.05.2011 16:12
von rolaf
RSBasic hat geschrieben:Meinst du, dass der Mauscursor sich deshalb ändert? Glaube ich nicht.
Probieren, glauben ist anders. Und ja, bei mir ändert er sich exakt 5 Sekunden.
Aber ich glaube wir produzieren hier ein Sturm im Wasserglas.
OK, bei dir gibts nur Sanduhr bei mir Pfeil + Sanduhr.

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.
Verfasst: 25.05.2011 16:19
von ts-soft
@rolaf
Dein Code geht auch, wenn man die betreffenden Zeilen auskommentiert
Code: Alles auswählen
OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "minicode")
;SetCursor_(LoadCursor_(0, #IDC_WAIT))
Delay(5000)
;SetCursor_(LoadCursor_(0, #IDC_ARROW))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Du nimmst Windows die Luft, deshalb der Cursorwechsel, nicht auf Grund der Anweisung

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.
Verfasst: 25.05.2011 16:19
von RSBasic
rolaf hat geschrieben:RSBasic hat geschrieben:Meinst du, dass der Mauscursor sich deshalb ändert? Glaube ich nicht.
Probieren, glauben ist anders. Und ja, bei mir ändert er sich exakt 5 Sekunden.
Nein, du hast mich falsch verstanden.
Probiert hab ich ja, aber es macht keinen Unterschied, ob ich die SetCursor-API verwende oder nicht. Ergo die API macht garnix, jedenfalls hier nicht.
Nochmal, was ich damit gemeint habe (kann vielleicht sein, dass es bei dir ganz anders ist

), ist...
Wenn ich den folgenden Code ausführe:
Code: Alles auswählen
OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "minicode",0)
Delay(5000)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Dann habe ich automatisch 5 Sekunden einen Wait-Cursor. Wozu dann noch die API? Egal ob mit oder ohne API, das Ergebnis ist dasselbe. Wenn ich beispielsweise eine Hintergrundaktivität in meiner Anwendung einbaue, die nicht vom Fenster-Event abhängig ist, dann funktioniert die API so oder so nicht. (Bei mir jedenfalls.)
Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.
Verfasst: 25.05.2011 16:24
von rolaf
@RSBasic: OK, bei dir gibts nur Sanduhr bei mir Pfeil + Sanduhr gleichzeitig.

Was schließen wir nun daraus? Hmmmmm... warten ist uncool, schneller Code ist besser...