Dialogfenster

  • Hallo,


    ich habe ein Formular das einige Textfelder enthällt die zum Teil
    recht gtu gefüllt sind.
    Nun würde ich gerne die Textfelder mit einer Schaltfläche versehen, die den Inhalt des Textfeldes in einem eigenem Fenster darstellt.
    Ich habe mir das so vorgestellt wie z.B bei Listenfelder\Steuerung
    da kann für die Auswahl z.B eine Formel angegeben werden.
    Über die Schaltfläche "Formelfenster" wird eben diese Formel in
    einem eigenen Fenster dargestellt.


    Ich vermute das das mit einer DialogBox funktioniert.
    Um nicht für jedes Feld eine eigene Dialogbox mit korrospondierendem Feld erstellen zu müssen, würde ich gerne eine Dialogbox erstellen die den aktuellen Feldwert anzeigt, bzw bei Änderungen das entsprechende Feld aktuallisiert.


    Wie krieg ich diese dynamik hin ?

  • Zitat


    taurec schrieb:
    Z.b. indem du deiner Dialogmaske sowohl Feldname wie auch Wert übergibst und dann bei Bestätigung in das vorher übergebene Feld schreibst


    Hallo taurec,


    danke für deine Antwort, ich bin nicht sicher wie ich das hinbekomme.
    Wie bekomme ich Zufgriff auf die Dialogmaske, bzw. deren Felder.
    Wenn ich die Dialogmaske anspreche über Call ws.DialogBox


    ***
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUiDocument
    Set uidoc=ws.CurrentDocument
    Call ws.DialogBox("(Dialog_Choice)", True,True,True,True,False,False,"Availible applications.... ")
    ***
    komme ich nicht an die Felder der Dialogbox heran.
    NotesUIWorkspace.CurrentDocument representiert das Ursprungsdokument.


    Oder sollte ich besser in der Dialogbox und in dem Dokument ein
    gleichnamiges Feld benutzen, das durch betätigen der Schaltfläche den Wert des entsprechenden Textfeldes übernimmt ?



    Viele Grüße
    Ferdi

  • Zitat


    taurec schrieb:
    Indem du ein NotesDocument erzeugst, dieses mit den gewünschten Werten füllst und es der Dialog Box mitübergibst


    Hallo taurec,
    danke fü rdie Antwort, habs mittlerweile hinbekommen.
    Irgendwie habe ich zu kompliziert gedacht.


    Ich habe in das Dokument und in die DialogMaske ein
    Feld eingefügt, "DLG_TRansfer".
    Über eine Prozedur die durch eine Schaltfläche aufgerufen wird, wird der Feldname des Textfeldes übergiben.
    Das Feld Dlg_Transfer wird mit dem Inhalt des TxTFeldes gefüllt,
    durch die DialogBox erfolgt eine Übernahme des Feldwertes da das Feld in der DlgBox auch vorhanden ist, und alles wird gut :)


    Sub DlgUse (myitem As String)

    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUiDocument
    Dim Doc As NotesDocument
    Dim item As NotesItem
    Dim Newval As Variant
    Dim Oldval As Variant
    Set uidoc=ws.CurrentDocument
    Set doc=uidoc.Document



    ' Prüfen ob Feld vorhanden ist
    If Not doc.HasItem(myitem) Then
    Exit Sub
    End If

    'Feld Dialog transfer füllen


    oldval=doc.GetItemValue(myitem) 'Übergibt den Wert es Feldes aus dem Dokument
    doc.dialogTransfer=oldval

    Call ws.DialogBox("(DLG_Form)", True,True,True,True,False,False,"Edit txt.... ")
    'Neuer Wert, wenn in dem DialogDokument das Feld geändert wurde
    NewVal=doc.dialogTransfer
    If Not (OldVal(0)= NewVal(0)) Then
    Set item=doc.ReplaceItemValue(myitem, NewVal(0))
    Else
    Messagebox "Es ist keine Änderung erfolgt"
    End If
    doc.dialogTransfer=""
    Call uidoc.Refresh

    End Sub



    Viele Grüße


    Ferdi