Frage zu XbpSle disable / enable
Moderator: Moderatoren
- mini990
- 1000 working lines a day
- Beiträge: 592
- Registriert: Sa, 28. Jan 2006 9:44
- Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
- Danksagung erhalten: 1 Mal
Frage zu XbpSle disable / enable
Verständnisproblem meinerseits....
ich definiere mehrere Felder mit oXbp:XbpSle.....
anschließend der Befehl oXbp:disable()
--> Felder werden grau angezeigt und sind nicht editierbar.
über XbpPushbutton:activate := {|| oXbp:enable() }
möchte ich Felder wieder enablen um sie zu editieren. Es erfolgt jedoch keinerlei Reaktion bei der Anzeige, die Felder bleiben weiterhin gesperrt.
Gruß Stefan
ich definiere mehrere Felder mit oXbp:XbpSle.....
anschließend der Befehl oXbp:disable()
--> Felder werden grau angezeigt und sind nicht editierbar.
über XbpPushbutton:activate := {|| oXbp:enable() }
möchte ich Felder wieder enablen um sie zu editieren. Es erfolgt jedoch keinerlei Reaktion bei der Anzeige, die Felder bleiben weiterhin gesperrt.
Gruß Stefan
- Jan
- Marvin
- Beiträge: 14641
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 87 Mal
- Kontaktdaten:
Moin Stefan,
im Prinzip muß das funktionieren, ich mache das ähnlich.
Liegt das Problem vielleicht darin, daß Du mehrere XBPSle gleichzeitig aktivieren möchtest? Das habe ich noch nie versucht, weil ich jedes SLE eindeutig ansprechen möchte, aber vielleicht mag Xbase das auch grundsätzlich nicht.
Jan
im Prinzip muß das funktionieren, ich mache das ähnlich.
Liegt das Problem vielleicht darin, daß Du mehrere XBPSle gleichzeitig aktivieren möchtest? Das habe ich noch nie versucht, weil ich jedes SLE eindeutig ansprechen möchte, aber vielleicht mag Xbase das auch grundsätzlich nicht.
Jan
- mini990
- 1000 working lines a day
- Beiträge: 592
- Registriert: Sa, 28. Jan 2006 9:44
- Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
- Danksagung erhalten: 1 Mal
alle Sle's habe ich unter einem Xbp: ... erzeugt.
liegt hier der Fehler?
Warum funktioniert dann aber oXbp:disable() (alle nicht editierbar)??
ich möchte auch alle Sle's mit einem enable ansprechen. Das würde also heißen, ich weise alle Sle's einer eigenen Variablen zu (oXbp1, 2, 3, ...)
und muß dann alle einzeln enablen?
Hintergrund:
Mehrere Felder sollen erst nach Eingabe von "Return" bzw. eines Pushbuttons editierbar sein
Gruß Stefan
liegt hier der Fehler?
Warum funktioniert dann aber oXbp:disable() (alle nicht editierbar)??
ich möchte auch alle Sle's mit einem enable ansprechen. Das würde also heißen, ich weise alle Sle's einer eigenen Variablen zu (oXbp1, 2, 3, ...)
und muß dann alle einzeln enablen?
Hintergrund:
Mehrere Felder sollen erst nach Eingabe von "Return" bzw. eines Pushbuttons editierbar sein
Gruß Stefan
- Lewi
- 1000 working lines a day
- Beiträge: 830
- Registriert: Di, 07. Feb 2006 14:10
- Wohnort: Hamburg
- Danksagung erhalten: 2 Mal
Hi!
Es müssen alle sle-Objekte einzeln disabled bzw. enabled werden.
Wenn Felder von anderen Feldern abhängig sind, kann dies über ::sle:Validate := { |osle| DoSomething() } realisiert werden. Allerdings kann unter Windows der Anwender mit der Mouse auf beliebige Felder springen, so das die Abhängigkeit eines anderes Feldes ggf. nicht greift. Da hilft leider auch kein ::prevalidate(), weil das Feld bereits den Fokus hat. (Unter Clipper war dies Verhalten anders)
Gruß, Olaf
Es müssen alle sle-Objekte einzeln disabled bzw. enabled werden.
Wenn Felder von anderen Feldern abhängig sind, kann dies über ::sle:Validate := { |osle| DoSomething() } realisiert werden. Allerdings kann unter Windows der Anwender mit der Mouse auf beliebige Felder springen, so das die Abhängigkeit eines anderes Feldes ggf. nicht greift. Da hilft leider auch kein ::prevalidate(), weil das Feld bereits den Fokus hat. (Unter Clipper war dies Verhalten anders)
Gruß, Olaf
- mini990
- 1000 working lines a day
- Beiträge: 592
- Registriert: Sa, 28. Jan 2006 9:44
- Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
- Danksagung erhalten: 1 Mal
d.h. also, daß ich bei einer Datei mit z.B. 32 Eingabefeldern 32 Zuweisungen machen muß um dem Anwender mitzuteilen daß er sich noch nicht oder doch schon im Editiermodus befindet???
Gut, ist so, empfinde ich aber mehr als nur umständlich......
Mal schaun was mein nächstes Problem sein wird....
Gruß Stefan
Gut, ist so, empfinde ich aber mehr als nur umständlich......
Mal schaun was mein nächstes Problem sein wird....
Gruß Stefan
-
- UDF-Programmierer
- Beiträge: 97
- Registriert: Mi, 01. Feb 2006 23:49
- Wohnort: Glauchau
- Kontaktdaten:
Hallo Stefan,
Du kannst es natürlich auch einfacher haben.
Probiere mal:
AEVAL(oParent:drawingarea:childList(),{|o| IIF(o:className()='XbpSLE',o:enable(),NIL)}) // Aktivieren
AEVAL(oParent:drawingarea:childList(),{|o| IIF(o:className()='XbpSLE',o:disable(),NIL)}) // deaktivieren
Du kannst sogar bestimmen welche Objekte aktiviert/deaktiviert werden sollen. Dazu merkst Du Dir beim erzeugen im cargo Member eine Kennung, die Du dann im o.g. Codeblock auswerten kannst.
Ich hoffe das hilft Dir,
Gruss Steffen
Du kannst es natürlich auch einfacher haben.
Probiere mal:
AEVAL(oParent:drawingarea:childList(),{|o| IIF(o:className()='XbpSLE',o:enable(),NIL)}) // Aktivieren
AEVAL(oParent:drawingarea:childList(),{|o| IIF(o:className()='XbpSLE',o:disable(),NIL)}) // deaktivieren
Du kannst sogar bestimmen welche Objekte aktiviert/deaktiviert werden sollen. Dazu merkst Du Dir beim erzeugen im cargo Member eine Kennung, die Du dann im o.g. Codeblock auswerten kannst.
Ich hoffe das hilft Dir,
Gruss Steffen