Eieruhr

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Eieruhr

Beitrag von Jan »

Ich kann ja den Mauszeiger einfach ändern. Aber wenn ich die Eieruhr einschalte, weil der Nutzer darauf aufmerksam gemacht werden soll, das da irgendwas im Hintergrund etwas dauern könnte, dann pssiert folgendes: Die Eieruhr läuft nur auf dem angeklickten XbPart. Und verschiebe ich die Maus davon weg und wieder zurück, kommt die Eieruhr nicht wieder zurück, obwohl der Mauszeiger doch auf dem auslösenden XbPart steht.

Dabei denke ich eigentlich, das ich die Eieruhr nicht nur für den betreffenden XbPart enischalte, sondern systemweit:

Code: Alles auswählen

SetAppWindow():SetPointer( , XBPSTATIC_SYSICON_WAIT, XBPWINDOW_POINTERTYPE_SYSPOINTER)
Was mache ich da falsch?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
DelUser01

Re: Eieruhr

Beitrag von DelUser01 »

Hallo Jan,

ich mache das so:

Code: Alles auswählen

oAppDlg:SetPointer( , XBPSTATIC_SYSICON_WAIT , XBPWINDOW_POINTERTYPE_SYSPOINTER )
oWartenDlg:SetPointer( , XBPSTATIC_SYSICON_WAIT , XBPWINDOW_POINTERTYPE_SYSPOINTER )
oWartenDlg:DrawingArea:SetPointer( , XBPSTATIC_SYSICON_WAIT , XBPWINDOW_POINTERTYPE_SYSPOINTER )
Damit bekomme ich die Eieruhr (z.B.) im Wartefenster und auf dem Applikationsfenster.
Egal ob oAppDlg win XbpCrt oder XbpDialog ist.

Nachtrag zu Deiner Frage:
Ich denke dass der Pointer in den Fenstern geändert werden muss in denen die Eieruhr auftauchen soll (und hinterher natürlich wieder zurück zum Pfeil).
Habe da vor einiger Zeit auch schon rumprobiert es aber nicht anders geschafft.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Eieruhr

Beitrag von brandelh »

Es ist schon eine Weile her, aber ich meine man setzt die Eieruhr auf den Hauptdialog und sie wirkt auf alle abhängigen ... bei einer MsgBox() muss SetAppWindow()
stimmen. Wenn die Maus das Anwendungsfenster verläßt muss sie auf normal und beim wiedereintritt wieder auf Eieruhr gesetzt werden.

Ob ich das aber automatisch ging oder ob ich enter und leave (oder so ähnlich) bemühen musste weiß ich nicht mehr.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Eieruhr

Beitrag von AUGE_OHR »

Jan hat geschrieben:

Code: Alles auswählen

SetAppWindow():SetPointer( , XBPSTATIC_SYSICON_WAIT, XBPWINDOW_POINTERTYPE_SYSPOINTER)
Was mache ich da falsch?
es wäre ja schön wenn man ein "Fenster" dazu bewegen könnte ... aber es sitzt ja KEIN XbPart auf einem "Fenster".

o:SetPointer() ist IMHO für XbParts und die sitzten gewöhnlich auf der o:DrawingArea

Code: Alles auswählen

SetAppWindow():DrawingArea:SetPointer( , XBPSTATIC_SYSICON_WAIT, XBPWINDOW_POINTERTYPE_SYSPOINTER)
siehe auch PDR 4950, falls owned Window PDR 4508

p.s. wenn man ein XbpDialog() als Child benutzt muss man rekursiv durch die o:DrawingArea gehen und jedes "Fenster" seperat schalten.
gruss by OHR
Jimmy
Antworten