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. :D
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 :mrgreen:

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. :wink:

OK, bei dir gibts nur Sanduhr bei mir Pfeil + Sanduhr. :lol:

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 :lol:

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 :mrgreen:

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 :wink: ), 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. :lol:
Was schließen wir nun daraus? Hmmmmm... warten ist uncool, schneller Code ist besser...