Autor Thema: CurrentField ohne Focusverlust  (Gelesen 2283 mal)

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
CurrentField ohne Focusverlust
« am: 07.07.05 - 15:53:48 »
Vielleicht hat jemand eine Idee und bringt mich auf andere Gedanken.

Innerhalb einer Dialogbox brauche ich nun einen Button, der das aktuelle Feld ausliest. UIDoc.Currentfield fällt mir da so als Lösung ein, jedoch wird der Focus durch den Klick auf den Button verschwinden und so keinen Feldnamen zurückliefern. Eine Aktionsschaltfläche würde den Focus nicht verändern, fällt jedoch innerhalb einer Dialogbox aus.

Gibt es noch andere Möglichkeiten?

Gruß Sascha
« Letzte Änderung: 14.07.05 - 08:54:59 von mibo11 »

Offline ..Andreas..

  • Junior Mitglied
  • **
  • Beiträge: 60
  • Geschlecht: Männlich
  • Brevity is the soul of wit.
Re: CurrentField ohne Focusverlust
« Antwort #1 am: 07.07.05 - 17:54:35 »
Ein kleines Script in den Entering-Event jedes Feldes der Dialogmaske, das den aktuellen Feldnamen "irgendwo" (ini, spezielles Feld, globale Variable, ...) hinschreibt? Das kannst Du dann im Buttonsourcecode auslesen.

Andreas

Glombi

  • Gast
Re: CurrentField ohne Focusverlust
« Antwort #2 am: 08.07.05 - 09:13:14 »
Wenn der Button auch in Script geschrieben ist, würde ich eine globale Variable (d.h. unter Declaration in Globals der Maske definiert) verwenden.

Wie Sascha geschrieben hat, den Wert im Entering setzen und auch im Exiting wieder zurücksetzen.

Andreas

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: CurrentField ohne Focusverlust
« Antwort #3 am: 08.07.05 - 09:22:43 »
Andreas, bist Du sicher, dass das Exiting nicht feuert, wenn man einen Buhtong betätigt? Nach Windows-Modell müsste das bei Focusverlust feuern (das ist aber nicht überall tatsächlich der Fall). Insofern wäre ich mit dem Exiting-Event hier vorsichtig und würde statt das Löschen des Entering-Flags ein zweites Exiting-Flag verwenden
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Glombi

  • Gast
Re: CurrentField ohne Focusverlust
« Antwort #4 am: 08.07.05 - 10:29:49 »
Meiner Erfahrung nach wird das Exiting Event nicht ausgelöst, wenn man einen Button anklickt. Aber das wäre noch mal zu testen.

Ich hatte es eigentlich nur erwähnt, damit das ganze etwas sauberer ist. Sonst hüpft der Cursor von einem Feld ins andere und das andere hat kein Entering. Dann "denkt" der Button, der Cursor steht noch im ersten Feld.

Andreas

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: CurrentField ohne Focusverlust
« Antwort #5 am: 08.07.05 - 10:36:06 »
Die Ueberlegung ist sicher sehr wichtig, das Problemfeld lässt sich aber wohl nicht ganz absichern. Mit einem separaten Exiting-Flag ist das dann bei Bedarf ebenfalls überprüfbar, wenn auch ähnlich unzuverlässig, wie wenn nur ein Entering-Flag gesetzt ist.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: CurrentField ohne Focusverlust
« Antwort #6 am: 08.07.05 - 10:55:00 »
Hallo zusammen,

vielen Dank für die Anregungen. Ich habe es jetzt tatsächlich mit dem Entering in Verbindung mit einer globalen Variable gelöst.

Globals:
Dim feldname as string
dim uidoc as notesuidocument

Postopen:
set uidoc = Source

Entering:
feldname = uidoc.currentfield


Da die Maske 150 Felder hat und ich tendenziell eher faul bin und nicht in 150 Feldern das Entering verändern wollte, habe ich ggf. nach einem anderen Trick gesucht. Schade, dass der Focus durch den Klick auf den Button verloren geht, was zwar logisch ist, aber auch irgendwie unsinnig, da der geänderte Focus (des Buttons) nicht ausgewertet werden kann.

Gruß und Dank Sascha

Glombi

  • Gast
Re: CurrentField ohne Focusverlust
« Antwort #7 am: 08.07.05 - 10:56:37 »
Anstelle des Buttons könntest Du eine Aktion verwenden, da geht der Focus nicht verloren soweit ich weiss.

Andreas

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: CurrentField ohne Focusverlust
« Antwort #8 am: 08.07.05 - 10:57:42 »
Sascha, das Verlieren des Focus hat nix mit Notes zu tun, so ist die Windows-Definition ....
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: CurrentField ohne Focusverlust
« Antwort #9 am: 08.07.05 - 11:15:27 »
Anstelle des Buttons könntest Du eine Aktion verwenden, da geht der Focus nicht verloren soweit ich weiss.

Andreas

Leider nein, da das Ganze innerhalb einer Dialogbox statfindet!

Sascha, das Verlieren des Focus hat nix mit Notes zu tun, so ist die Windows-Definition ....

Hab' mich etwas unglücklich ausgedrückt. Es wäre schon, wenn die Funktion CurrentField bei Klick auf den Button ähnlich wie die Aktionsschaltfläche  (z.B. wie es ja jetzt progammiert ist), den Wert in den globalen Speicher packt, dann könnte man sich das selber programmieren sparen, zumal das CurrentField in Verbindung mit einem Button keine Auswirkung hat, also keine Fehler entstehen können.

Gruß Sascha

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: CurrentField ohne Focusverlust
« Antwort #10 am: 08.07.05 - 11:41:33 »
Eine Diabox mit 150 Feldern? Viel vergnügen .... das tönt nach möglichem Chaos ....
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline mibo11

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
Re: CurrentField ohne Focusverlust
« Antwort #11 am: 08.07.05 - 12:06:30 »
Gott sei Dank kann man die Objekte über den Objektbrowser ansteuern und muss nicht jedes einzelne Feld ansteuern.

Weiß du eigentlich ob die Teamstudio Tools Massenänderungen in dieser Form durchführen können?

Also Script in 150 Felder per Knopfdruck pushen und ggf. noch eine Laufvariable dabei erweitern, wie z.B.

uidoc.fieldsettext "Feld_" & Cstr(zaehler),wert

Gruß Sascha

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: CurrentField ohne Focusverlust
« Antwort #12 am: 08.07.05 - 12:32:38 »
M.E. lässt sich bei Aufruf per Script der Teamstudio Configurator nicht mehr beim Search&Replace abbrechen, um on the fly szReplaceText zu verändern.
Ich würde mich da natürlich gerne eines besseren belehren lassen. Glombi ?

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz