Autor Thema: Fokus für NotesUIWorkspace.CurrentDocument setzen  (Gelesen 485 mal)

Offline Flachmann

  • Senior Mitglied
  • ****
  • Beiträge: 284
  • Geschlecht: Männlich
  • Mal wieder: Flachmann ist Schuld!
Hallo,

ich habe mal wieder ein "interessantes" Phänomen und hoffe Ihr habt eine Lösungsidee.

Ich habe eine (Haupt-)Maske, die eine Embedded View nebst Embedded Editor enthält. Im Prinzip öffnet der User ein Dokument - die Hauptmaske, die eine Ansicht enthält. Wenn in dieser Ansicht ein Dokument gewählt wird, dann wird dieses im Embedded Editor angezeigt, und kann dort geändert werden.

Die Maske, die im Embedded Editor gezeigt wird, enthält auch einfache LotusScript®-Buttons. Und hier habe ich ein Problem.

Code
	Dim uiWS   As New NotesUIWorkspace
	Dim docAct As NotesDocument
	Set docAct = uiWS.CurrentDocument.Document
	[...]

Ab und an liegt der Fokus nicht auf dem Dokument, das den Schalter im Embedded Editor enthält, sondern auf dem Hauptdokument. D.h. NotesUIWorkspace.CurrentDocument liefert nicht das Dokument, das den Button enthält, sondern das den Embedded Editor umschließende Hauptdokument.

Hin und wieder funktioniert das korrekt, nämlich dann, wenn NotesUIWorkspace.CurrentDocument auf das Dokument im Embedded Editor zeigt. In anderen Fällen geht das schief, der Schalter im Embedded Editor kann zwar gedrückt, Felder geändert werden, aber NotesUIWorkspace.CurrentDocument zeigt auf ein anderes Dokument.

Dieses Verhalten von CurrentDocument ist auch dokumentiert:
The "current document" is the one that has focus. When opening documents in a composite application, frameset, or as an embedded editor, the document being opened might not have focus at the time its Postopen event code runs.


Im Prinzip müsste man wohl den Fokus irgendwie korrigieren. Aber dazu fand ich nichts.

Gibt es eine Lösung zu diesem Verhalten?
Gruß,
  __________
  _/_
  /lachmann

Offline Flachmann

  • Senior Mitglied
  • ****
  • Beiträge: 284
  • Geschlecht: Männlich
  • Mal wieder: Flachmann ist Schuld!
Antw:Fokus für NotesUIWorkspace.CurrentDocument setzen
« Antwort #1 am: 20.11.23 - 15:37:48 »
Eine, wenn nicht die, Lösung scheint zu sein, die Variablen für NotesUIDocument usw. im PostOpen() der Maske abzugreifen und global zu speichern.

Das ist wirklich nicht schön, weil plötzlich Code an einer Stelle steht, wo am ihn nicht erwarten würde!

Gruß,
  __________
  _/_
  /lachmann

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz