Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Frabbing
Beiträge: 160
Registriert: 15.02.2007 21:31
Kontaktdaten:

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.

Beitrag von Frabbing »

Poste mal einen Mini-Code dazu, kann doch sonst niemand nachvollziehen. :D
Und probier mal: http://www.youtube.com/watch?v=o5EXZybX4Hs
Gruß, Frank
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.

Beitrag 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
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.

Beitrag 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))
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.

Beitrag 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:
Zuletzt geändert von rolaf am 25.05.2011 16:22, insgesamt 1-mal geändert.
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.

Beitrag 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.)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: Sanduhr nur auf Fenster sichtbar, nicht auf Buttons usw.

Beitrag 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...
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Antworten