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.
Presupposto: nel progetto sono presenti una visualizzazione principale e una finestra di dialogo.
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.
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
.
Nel Dispositivi visualizzare, selezionare l'oggetto, aprire il menu contestuale e fare clic .
Clicca il Visualizzazione scheda.
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
.
Imposta il tipo di visualizzazione da
dlgCalender
per dialogare.Trascina un rettangolo nella visualizzazione
visMain
.Configura il
proprietà con il testoDue date: %t[yyyy-MM-dd]
.Configura il
proprietà conPLC_PRG.dateDue
.Trascina un pulsante nella visualizzazione.
Configura il
proprietà con il testoOpen dialog
.Configura il Apri finestra di dialogo azione con
proprietà per ildlgCalender
.L'input utente per l'apertura della finestra di dialogo è configurato.
Fare doppio clic su
dlgCalender
dialogo.Trascina un Date picker elemento nell'editor di visualizzazione.
Configura il
proprietà conDue date: %t[yyyy-MM-dd]
.Configura il
proprietà conPLC_PRG.dateCalender
.L'elemento è configurato.
Trascina un pulsante nell'editor di visualizzazione.
Configura il
proprietà conOK
.Configura il Chiudi finestra di dialogo azione con
proprietà per ildlgCalender, Result: OK
.Configurarne un altro Eseguire il codice ST azione con
proprietà per ilPLC_PRG.dateDue := PLC_PRG.dateCalendar;
.L'input utente per la chiusura della finestra di dialogo è configurato.
Trascina un altro pulsante nell'editor di visualizzazione.
Configura il
proprietà conCancel
.Configura il Chiudi finestra di dialogo azione con
proprietà per ildlgCalender, Result: Cancel
.L'input utente per l'annullamento della finestra di dialogo è configurato.
Compila, scarica e avvia l'applicazione.
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