Aggiunta di testo archiviata in una proprietà
L'esempio descritto nella sezione intitolata Creazione di un condizionale "Attendere . . . "Finestra di messaggio visualizza una finestra di dialogo con testo che legge: "Attendere il completamento del costo dello spazio su disco". Questa operazione può essere eseguita semplicemente inserendo un controllo testo nella finestra di dialogo e immettendo la stringa di testo nella colonna Testo della tabella Control. In questo caso, le informazioni sullo stile del carattere devono essere incorporate nella stringa. L'autore deve impostare il tipo di carattere e lo stile del carattere prefissendo la stringa di caratteri con {\style}. Dove stile è un identificatore di stile del tipo di carattere elencato nella colonna TextStyle della tabella TextStyle. Questo metodo di aggiunta del testo viene illustrato più volte in Un esempio di installazione.
Un autore di un'interfaccia utente può anche archiviare il testo in una proprietà. Nell'esempio seguente viene illustrato questo e viene illustrato come è possibile usare ControlEvents per visualizzare stringhe di testo alternative.
L'obiettivo di questo esempio è di nuovo quello di inserire una finestra di dialogo WaitForCosting mentre è in esecuzione un'attività in background. La differenza con il nuovo scenario è che se l'utente annulla la finestra di dialogo WaitForCosting e quindi tenta di attivare il controllo prima che l'attività in background sia stata completata una seconda volta, la casella WaitForCosting viene visualizzata un messaggio alternativo: "Il costo dello spazio su disco è ancora in esecuzione. È possibile continuare ad attendere o tornare alla casella di selezione principale per uscire da questa sequenza.
Per visualizzare una finestra di dialogo "Attendere" che visualizza messaggi alternativi
- Iniziare aggiungendo una finestra di dialogo WaitForCosting condizionale a una finestra di dialogo Selezione, come descritto in Creazione di un oggetto condizionale "Attendere . . " Finestra di messaggio.
- Inserire un controllo testo nella finestra di dialogo WaitForCosting creando un record nella tabella Control. Immettere l'identificatore della finestra di dialogo WaitForCosting nella colonna Dialog_. Immettere l'identificatore del controllo Testo nella colonna Control. Specificare il tipo di controllo come Testo nella colonna Tipo.
- Specificare l'attributo Controllo posizione per il controllo di testo immettendo le coordinate orizzontali e verticali dell'angolo superiore sinistro del controllo nelle colonne X e Y della tabella Control. Usare pixel come unità di distanza.
- Specificare la larghezza e l'altezza del controllo di testo immettendo queste dimensioni nelle colonne Width e Height della tabella Control. Usare pixel come unità di lunghezza.
- Le colonne Proprietà e Control_Next della tabella Control non influiscono sui controlli Text e possono essere lasciati vuoti in questo caso.
- Specificare gli attributi di controllo per il controllo Text associato ai flag di bit. Aggiungere i singoli valori di bit insieme e immettere il totale nella colonna Attributi della tabella Control. Si tratta degli attributi di controllo Visible, Sunken, Enabled, Transparent, NoWrap e NoPrefix. La combinazione di bit che visualizzano un controllo di testo su uno sfondo opaco, con il testo di wrapping è 0, quindi immettere 0 o lasciare vuota la colonna Attributi.
- La colonna Text della tabella Control può essere lasciata vuota. Il controllo Text visualizza la stringa di testo che corrisponde al valore dell'attributo Controllo testo . Il metodo per impostare questo attributo è descritto nei passaggi successivi di questa procedura.
- Aggiungere un record nella tabella Property per definire la proprietà del messaggio FirstMessage. Questa proprietà è una stringa contenente lo stile e il testo del tipo di carattere per il primo messaggio. Immettere il nome FirstMessage nella colonna Proprietà. Nella colonna Valore immettere la stringa "{\WaitStyle}Attendere il completamento del costo dello spazio su disco". Dove WaitStyle è un identificatore per uno degli stili di carattere elencati nella colonna TextStyle della tabella TextStyle.
- Aggiungere un record nella tabella Property per definire la proprietà del messaggio SecondMessage. Questa proprietà è una stringa contenente lo stile e il testo del tipo di carattere per il secondo messaggio. Immettere il nome SecondMessage nella colonna Proprietà. Nella colonna Valore immettere la stringa: "{\WaitStyle}Costo spazio su disco ancora in esecuzione. È possibile continuare ad attendere o tornare alla casella di selezione principale per uscire da questa sequenza.
- Aggiungere un record nella tabella Property per definire la proprietà del messaggio WaitMessage. Questa proprietà è una stringa contenente lo stile del tipo di carattere e il testo per il messaggio visualizzato nella finestra di dialogo WaitForCosting se l'utente tenta di attivare un pulsante push prima del completamento del costo. Immettere il nome WaitMessage nella colonna Property. Nella colonna Value della tabella Property immettere: FirstMessage.
- Aggiungere un controllo SetProperty ControlEvent alla tabella ControlEvent che inizializza WaitMessage in FirstMessage ogni volta che si apre una finestra di dialogo Nuova selezione . Immettere l'identificatore per la finestra di dialogo che viene visualizzata appena prima della finestra di dialogo Selezione nella sequenza della finestra di dialogo nella colonna Dialog_. Immettere l'identificatore per il controllo in questa finestra di dialogo utilizzata per aprire la finestra di dialogo Selezione nella colonna Control_. Immettere [WaitMessage] nella colonna Evento. Immettere [FirstMessage] nella colonna Argomento. Immettere 1 nella colonna Condizione e lasciare vuota la colonna Ordering.
- Aggiungere un controllo SetProperty ControlEvent alla tabella ControlEvent che imposta Waitmessage su SecondMessage se l'utente chiude la finestra di dialogo WaitForCosting prima del completamento del costo dello spazio su disco. Immettere l'identificatore per la finestra di dialogo WaitForCosting nella colonna Dialog_. Immettere l'identificatore per il controllo Testo nella colonna Control_. Immettere [WaitMessage] nella colonna Evento. Immettere [SecondMessage] nella colonna Argomento. Immettere NOT CostingComplete nella colonna Condition e lasciare vuota la colonna Ordering.
- Il passaggio seguente collega l'attributo Controllo testo all'oggetto ControlEvent che genera la finestra di dialogo WaitForCosting . In questo modo, il programma di installazione passa il valore della proprietà WaitMessage all'attributo controllo Text ogni volta che l'utente apre una finestra di dialogo WaitForCosting .
- Sottoscrivere l'attributo Controllo Testo del controllo Text al controllo SpawnWaitDialog ControlEvent che apre la finestra di dialogo WaitForCosting aggiungendo un record alla tabella EventMapping. Immettere l'identificatore per la finestra di dialogo WaitForCosting nella colonna Dialog_. Immettere l'identificatore per il controllo Testo nella colonna Control_. Immettere SpawnWaitDialog nella colonna Event. Immettere Testo, l'identificatore per l'attributo Controllo testo nella colonna Attributo della tabella EventMapping.