Skip to main content

Chiamare una finestra di dialogo in una visualizzazione

È possibile configurare l'input dell'utente per una visualizzazione per aprire una visualizzazione come finestra di dialogo. Ad esempio, un utente fa clic su un pulsante che apre una finestra di dialogo e richiede l'immissione di valori. Una finestra di dialogo viene utilizzata per ottenere l'input dell'utente e (se modale) può bloccare l'input al di fuori della finestra di dialogo.

Solo visualizzazioni di Dialogo il tipo di visualizzazione può essere aperto come finestra di dialogo. Configurare il tipo di visualizzazione in Proprietà finestra di dialogo di un oggetto di visualizzazione.

Procedura. Procedura principale

Presupposto: nel progetto sono presenti una visualizzazione principale e una finestra di dialogo.

  1. Configurare un input utente per la visualizzazione principale con il Apri finestra di dialogo azione per il dialogo.

    L'apertura della finestra di dialogo è configurata.

  2. Configurare un input utente per un elemento della finestra di dialogo con il Chiudi finestra di dialogo azione.

    Suggerimento: per le finestre di dialogo non modali, è possibile configurare l'input dell'utente per la chiusura anche all'esterno della finestra di dialogo.

    La chiusura della finestra di dialogo è configurata.

Suggerimento

Invece di creare le tue finestre di dialogo, puoi usare le finestre di dialogo delle librerie. Ad esempio, quando il VisuDialogs libreria è integrata nel progetto, è possibile utilizzare le finestre di dialogo incluse VisuDialogs.Login o VisuDialogs.FileOpenSave.

  1. Nel Dispositivi visualizzare, selezionare l'oggetto, aprire il menu contestuale e fare clic Proprietà.

  2. Clicca il Visualizzazione scheda.

  3. Seleziona il Dialogo opzione e fare clic ok per chiudere la finestra di dialogo.

    La visualizzazione ha il Dialogo tipo di visualizzazione e può essere chiamato come tale.

Per le chiamate di dialogo, un utente di solito fa clic su un pulsante che apre una finestra di dialogo e richiede l'input.

Nell'esempio seguente, viene visualizzata una finestra di dialogo come calendario e consente l'immissione di una data.

Requisito: il progetto include le visualizzazioni visMain e dlgCalender.

  1. Imposta il tipo di visualizzazione da dlgCalender per dialogare.

  2. Trascina un rettangolo nella visualizzazione visMain.

  3. Configura il Testi → Testo proprietà con il testo Due date: %t[yyyy-MM-dd].

    Configura il Variabili di testo → Variabili di testo proprietà con PLC_PRG.dateDue.

  4. Trascina un pulsante nella visualizzazione.

  5. Configura il Testi → Testo proprietà con il testo Open dialog.

    Configura il Configurazione ingresso → OnMouseClick proprietà per il Apri finestra di dialogo azione con dlgCalender.

    L'input utente per l'apertura della finestra di dialogo è configurato.

  6. Fare doppio clic su dlgCalender dialogo.

  7. Trascina un Date picker elemento nell'editor di visualizzazione.

  8. Configura il Testi → Testo proprietà con Due date: %t[yyyy-MM-dd].

    Configura il Variabile proprietà con PLC_PRG.dateCalender.

    L'elemento è configurato.

  9. Trascina un pulsante nell'editor di visualizzazione.

  10. Configura il Testi → Testo proprietà con OK.

  11. Configura il Configurazione ingresso → OnMouseClick proprietà per il Chiudi finestra di dialogo azione con dlgCalender, Result: OK.

  12. Configurarne un altro Configurazione ingresso → OnMouseClick proprietà per il Eseguire il codice ST azione con PLC_PRG.dateDue := PLC_PRG.dateCalendar;.

    L'input utente per la chiusura della finestra di dialogo è configurato.

  13. Trascina un altro pulsante nell'editor di visualizzazione.

  14. Configura il Testi → Testo proprietà con Cancel.

  15. Configura il Configurazione ingresso → OnMouseClick proprietà per il Chiudi finestra di dialogo azione con dlgCalender, Result: Cancel.

    L'input utente per l'annullamento della finestra di dialogo è configurato.

  16. Compila, scarica e avvia l'applicazione.

    _visu_img_dlg_calendar.png

Dichiarazione variabile

PROGRAM PLC_PRG
VAR
    dateDue : DATE := DATE#2000-01-01;
    dateCalendar : DATE;
END_VAR                    

È possibile aprire una finestra di dialogo tramite il codice dell'applicazione o dall'applicazione. Per un facile accesso, utilizzare l'interfaccia da VisuUtils biblioteca. Quando apri VisuUtils in Library Manager, puoi scansionare la biblioteca in base al suo contenuto e accedere alla documentazione della biblioteca.

È possibile aprire e chiudere le finestre di dialogo tramite i blocchi funzione FbOpenDialog, FbOpenDialogExtended, e FbCloseDialog dalla biblioteca VisuUtils. Se viene aperta o chiusa una finestra di dialogo a livello globale, quindi il parametro itfClientFilter := VU.Globals.AllClients deve essere impostato quando viene chiamato il blocco funzione. Quindi la finestra di dialogo appare o scompare contemporaneamente su tutte le varianti di visualizzazione configurate sotto il Visualization Manager.

Suggerimento

Nel CODESYS V3.5 SP10 e precedenti, è possibile implementare l'accesso programmatico ai dialoghi solo tramite la funzionalità del gestore di dialoghi interno. In V3.5 SP11 e versioni successive, hai il VisuUtils biblioteca.

In questo progetto di esempio, le finestre di dialogo sono accessibili a livello di codice tramite le interfacce di «Visu Utils» libreria. Qui puoi vedere come viene implementata l'apertura di una finestra di dialogo o il passaggio di parametri a una finestra di dialogo