Domino 9 und frühere Versionen > Entwicklung
Dokument mehrfach geöffnet
cpo:
Hallöchen,
ich habe mal wieder ein kleines Problem um dessen Lösung ich mich seit längerer Zeit erfolgreich drücke 8) 8) Dieses Problem taucht eigentlich immer wieder auf und da grad' die Sonne so schön scheint....
Also: Wir haben ein doc A. In dem ist eine Schaltfläche über die doc B geöffnet wird.
In doc B ist eine Schaltfläche, über die man doc A öffnen kann.
Klappt auch alles wunderbar. bis auf den Schönheitsfehler, daß docA zum zweiten mal, also in einem neuen Fenster geöffnet wird...
Ich kann zwar abfragen, ob das doc, was grad geöffnet werden soll, schon geöffnet ist - nur was mache ich dann? Wie kriege ich denn das Fenster nach vorne?
Habe ich da mal wieder ein Brett vorm Kopf ???
CPO
Rob Green:
Sowas vielleicht?
NavigateToBackLink
Kehrt zu dem Dokument zurück, von dem aus das aktuelle Dokument gestartet wurde.
Syntax
@Command([NavigateToBackLink])
Verwendung
Sie öffnen ein Dokument und rufen daraus ein weiteres Dokument auf, indem Sie eine Verknüpfung aktivieren. Schließen Sie anschließend das zweite Dokument, schließt NavigateToBackLink auch die Datenbank, die das zweite Dokument enthält, und kehrt zum ersten Dokument zurück.
Ausführungsreihenfolge
Dieser Befehl wird nur nach der Auswertung der gesamten Formel ausgeführt, unabhängig davon, ob @Command oder @PostedCommand verwendet wird.
cpo:
Hi Rob,
ich hätte vielleicht erwähnen sollen, daß das alles Script ist... Mit @@ hätte ich -glaub' ich - auch das Problem mit der doppelten Öffnerei nicht.
Ich bräuchte einfach irgendwas, womit ich ein Fenster unter Notes nach vorne holen kann.
So workspace.Window.Kommnachvorne(1) ;D
CPO
Rob Green:
ist es denn verboten, @ zu nehmen? Nur weil "alles" Script ist?
Sehe keine Gründe, die dagegen sprechen das Navi-Back zu nehmen, oder hab ich Bretter vor´m Kopf jetzt?
eknori:
So ganz trivial ist das nicht; kannst du auch meines Wissens nicht mit @@ oder Script lösen. Da mußt du schon die API bemühen
Der folgende Code schaut in der FensterZeile nach. Hier würde ich nach dem Subject des Mail suchen.
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (Byval lpClassName&, Byval lpWindowName As String) As Long
' in the event click or initialize o, etc..
Dim winHwnd As Long
Dim RetVal As Long
winHwnd = FindWindow(0, "Inhalt des Feldes Subject")
If winHwnd <> 0 Then
Öffne das Fenster
Else
Lass es und öffne das neue Dokument
End If
In den Vordergrund kannst du ein Fenster mit
Declare Function SetWindowPos& Lib "user32" (ByVal hwnd&, ByVal WndInsertAfter&, ByVal x&, ByVal y&, ByVal cx&, ByVal cy&, ByVal wFlags&)
genaue syntax habe ich jetz nicht parat, aber ist zumindest schon mal ein Ansatz
eknori
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln