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
dlgCalenderper dialogare.Trascina un rettangolo nella visualizzazione
visMain.Configura il proprietà con il testo
Due date: %t[yyyy-MM-dd].Configura il proprietà con
PLC_PRG.dateDue.Trascina un pulsante nella visualizzazione.
Configura il proprietà con il testo
Open dialog.Configura il proprietà per il Apri finestra di dialogo azione con
dlgCalender.L'input utente per l'apertura della finestra di dialogo è configurato.
Fare doppio clic su
dlgCalenderdialogo.Trascina un Date picker elemento nell'editor di visualizzazione.
Configura il proprietà con
Due date: %t[yyyy-MM-dd].Configura il proprietà con
PLC_PRG.dateCalender.L'elemento è configurato.
Trascina un pulsante nell'editor di visualizzazione.
Configura il proprietà con
OK.Configura il proprietà per il Chiudi finestra di dialogo azione con
dlgCalender, Result: OK.Configurarne un altro 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.
Trascina un altro pulsante nell'editor di visualizzazione.
Configura il proprietà con
Cancel.Configura il proprietà per il Chiudi finestra di dialogo azione con
dlgCalender, 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
