Immer Sanduhr in einem Eingabedialogfenster
Moderator: Moderatoren
-
- Rekursionen-Architekt
- Beiträge: 153
- Registriert: Do, 06. Apr 2006 10:51
- Danksagung erhalten: 3 Mal
Immer Sanduhr in einem Eingabedialogfenster
Hallo Gemeinde,
seit ich mit der Version (exp19259) kopiliert habe, erscheint in einem Eingabedialog die Sanduhr als Cursor.
Aber erst, sobald ich die Maus im Dialog bewege (vorher ist es noch ein Pfeil).
Bewege ich die Maus aus dem Dialogfenster heraus, wird sie wieder normal als Pfeil angezeigt.
Hat da jemand eine Idee ??
Gruß Peter
seit ich mit der Version (exp19259) kopiliert habe, erscheint in einem Eingabedialog die Sanduhr als Cursor.
Aber erst, sobald ich die Maus im Dialog bewege (vorher ist es noch ein Pfeil).
Bewege ich die Maus aus dem Dialogfenster heraus, wird sie wieder normal als Pfeil angezeigt.
Hat da jemand eine Idee ??
Gruß Peter
Gruss Peter
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Immer Sanduhr in einem Eingabedialogfenster
Hallo, Peter.
Such mal nach DC_SetPointerTree in Deinem Code. Möglicherweise hast Du auch irgendwo eine CURSOR-Klausel, die den falschen Pointer referenziert.
Roger erzeugt beim Dialogaufbau (DC_ReadGui) eine Sanduhr und lässt diese wieder verschwinden, wenn der Dialog fertig ist.
Such mal nach DC_SetPointerTree in Deinem Code. Möglicherweise hast Du auch irgendwo eine CURSOR-Klausel, die den falschen Pointer referenziert.
Roger erzeugt beim Dialogaufbau (DC_ReadGui) eine Sanduhr und lässt diese wieder verschwinden, wenn der Dialog fertig ist.
Herzlich,
Tom
Tom
-
- Rekursionen-Architekt
- Beiträge: 153
- Registriert: Do, 06. Apr 2006 10:51
- Danksagung erhalten: 3 Mal
Re: Immer Sanduhr in einem Eingabedialogfenster
Hallo Tom,
hatte bisher keinerlei Aufrufe für DC_setpointertree() in meinem Quellcode, auch habe ich überhaupt keine Mouse-Zeiger Änderungen gemacht.
Habe jetzt zum Test mal einen DCREAD Aufruf mit einem EVAL {} angepasst:
DCREAD GUI ;
TITLE "Test';
OPTIONS GetOptions;
CLEAREVENTS;
PARENT @oDlg;
APPWINDOW RootWindow();
EVAL {|o| DC_SetPointerTree(o) } ;
FIT
und siehe da, der Dialog reagiert wie er soll --> keine Sanduhr mehr in diesem Dialog.
D.h. für mich, das es eine Funktion gegen muß, die beim bewegen der Maus aufgerufen wird und mir dann die Sanduhr bringt.
Steht der Cursor beim Aufruf des Dialogs zufällig an der Stelle wo der Dialog erschein, erscheint ja solange ich nach dem aufbau des Dialogs die Mouse nicht bewege, keine Sanduhr !
Bin nun trotzdem etwas ratlos !
Muß ich jetzt alle meine DCREAD Aufruf-Dialoge mit der entsprechenden EVAL versehen ?
Das kanns doch eigentlich nicht sein.
Wo könnte ich noch suchen ?
Gruß Peter
hatte bisher keinerlei Aufrufe für DC_setpointertree() in meinem Quellcode, auch habe ich überhaupt keine Mouse-Zeiger Änderungen gemacht.
Habe jetzt zum Test mal einen DCREAD Aufruf mit einem EVAL {} angepasst:
DCREAD GUI ;
TITLE "Test';
OPTIONS GetOptions;
CLEAREVENTS;
PARENT @oDlg;
APPWINDOW RootWindow();
EVAL {|o| DC_SetPointerTree(o) } ;
FIT
und siehe da, der Dialog reagiert wie er soll --> keine Sanduhr mehr in diesem Dialog.
D.h. für mich, das es eine Funktion gegen muß, die beim bewegen der Maus aufgerufen wird und mir dann die Sanduhr bringt.
Steht der Cursor beim Aufruf des Dialogs zufällig an der Stelle wo der Dialog erschein, erscheint ja solange ich nach dem aufbau des Dialogs die Mouse nicht bewege, keine Sanduhr !
Bin nun trotzdem etwas ratlos !
Muß ich jetzt alle meine DCREAD Aufruf-Dialoge mit der entsprechenden EVAL versehen ?
Das kanns doch eigentlich nicht sein.
Wo könnte ich noch suchen ?
Gruß Peter
Gruss Peter
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Re: Immer Sanduhr in einem Eingabedialogfenster
Hallo,
könnte vielleicht etwas mit Tooltips zu tun haben
Grüße
Rudolf
könnte vielleicht etwas mit Tooltips zu tun haben
Grüße
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
-
- Rekursionen-Architekt
- Beiträge: 153
- Registriert: Do, 06. Apr 2006 10:51
- Danksagung erhalten: 3 Mal
Re: Immer Sanduhr in einem Eingabedialogfenster
Hallo Rudolf,
habe am anfang von meiner main.prg den Befehl : DC_ToolTipEnable(.F.) // Tooltip Thread abschalten
Damit dürfte Deine Idee (vielen Dank dafür) abgeschaltet sein.
Gruß Peter
habe am anfang von meiner main.prg den Befehl : DC_ToolTipEnable(.F.) // Tooltip Thread abschalten
Damit dürfte Deine Idee (vielen Dank dafür) abgeschaltet sein.
Gruß Peter
Gruss Peter
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Immer Sanduhr in einem Eingabedialogfenster
Tooltips mit eXpress++ sind leider ein Thema für sich. In Rogers Quellcode findet man da oft Hinweise auf Jack Duijf, der sich intensiv damit beschäftigt und einige Ergänzungen implementiert hat, darunter ein Multithreaded-Tooltipping und in der aktuellen Version völlig irrsinnig arbeitende Balloon-Tips (flacker, flacker). Ich arbeite mit DC_ToolTipEnable(.T.) und DC_ToolTipThread(1), um das Multithreading-Tooltipping und die letzten Ergänzungen zu umgehen. Schön ist es trotzdem nicht, aber es gibt leider keine Möglichkeit, Tooltips zu verwenden, ohne auf die implementierten Systematiken zurückzugreifen.
Herzlich,
Tom
Tom
-
- Rekursionen-Architekt
- Beiträge: 153
- Registriert: Do, 06. Apr 2006 10:51
- Danksagung erhalten: 3 Mal
Re: Immer Sanduhr in einem Eingabedialogfenster
Hallo Gemeinde,
ich habe wahrscheinlich (wie erste test zeigen) das Problem beseitigen können.
Aber ich kann mir keine Erklärung zurechtlegen. (es geht aber ich weiß aber nicht warum --> sehr hoher Ing.-Level)
main.prg vorher:
DCREAD GUI TITLE cHeadline;
OPTIONS GetOptions ;
NODESTROY ;
SETAPPWINDOW ;
EVAL {|o| MainEval(o,aButtons,aPhotos,oStatic)}
main.prg nachher:
DCREAD GUI TITLE cHeadline;
OPTIONS GetOptions ;
NODESTROY ;
EVAL {|o| MainEval(o,aButtons,aPhotos,oStatic)}
Hat jemand eine Erklärung ? (Würde mich ruhiger schlafen lassen)
Gruß Peter
ich habe wahrscheinlich (wie erste test zeigen) das Problem beseitigen können.
Aber ich kann mir keine Erklärung zurechtlegen. (es geht aber ich weiß aber nicht warum --> sehr hoher Ing.-Level)
main.prg vorher:
DCREAD GUI TITLE cHeadline;
OPTIONS GetOptions ;
NODESTROY ;
SETAPPWINDOW ;
EVAL {|o| MainEval(o,aButtons,aPhotos,oStatic)}
main.prg nachher:
DCREAD GUI TITLE cHeadline;
OPTIONS GetOptions ;
NODESTROY ;
EVAL {|o| MainEval(o,aButtons,aPhotos,oStatic)}
Hat jemand eine Erklärung ? (Würde mich ruhiger schlafen lassen)
Gruß Peter
Gruss Peter