Condividi tramite


Aggiunta di testo archiviato in una proprietà

L'esempio descritto nella sezione intitolata Creazione di un'istruzione 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 di testo nella finestra di dialogo e immettendo la stringa di testo nella colonna Testo della tabella di controllo . 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 anteponendo alla stringa di caratteri {\stile}. Dove stile è un identificatore dello stile del carattere elencato nella colonna TextStyle della tabella TextStyle. Questo metodo di aggiunta di testo viene illustrato più volte in esempio di installazione.

Un autore di un'interfaccia utente può anche archiviare testo in una proprietà. Nell'esempio seguente viene illustrato questo e viene illustrato come 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 abbia terminato una seconda volta, la casella WaitForCosting visualizza nuovamente 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 "Attendi" che visualizza messaggi alternativi

  1. Per iniziare, aggiungere una finestra di dialogo condizionale WaitForCosting a una finestra di dialogo di Selezione, come descritto in Creazione di una finestra di messaggio condizionale "Attendere...".
  2. Inserire un controllo di 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 Controllo. Specificare il tipo di controllo come Testo nella colonna Tipo.
  3. Specificare l'attributo di controllo posizione per il controllo di testo immettendo le coordinate orizzontali e verticali dell'angolo in alto a sinistra del controllo nelle colonne X e Y della tabella di controllo . Usare i pixel come unità di distanza.
  4. Specificare la larghezza e l'altezza del controllo di testo immettendo queste dimensioni nelle colonne Width e Height della tabella Control. Usare i pixel come unità di lunghezza.
  5. Le colonne Property e Control_Next della tabella Control non influiscono sui controlli Text e possono essere lasciate vuote in questo caso.
  6. Specificare gli attributi di controllo associati ai flag di bit per il controllo di testo. Aggiungere insieme i singoli valori di bit e immettere il totale nella colonna Attributi della tabella Control. Si tratta degli attributi di controllo Visible, Sunken, Enabled, Transparent, NoWrape NoPrefix. La combinazione di bit che visualizzano un controllo di testo su uno sfondo opaco, con testo a capo automatico è 0, quindi immettere 0 o lasciare vuota la colonna Attributi.
  7. La colonna Text della tabella Control può essere lasciata vuota. Il controllo Testo visualizza la stringa di testo che corrisponde al valore dell'attributo di controllo testo. Il metodo per impostare questo attributo è descritto nei passaggi successivi di questa procedura.
  8. 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.
  9. Aggiungere un record nella tabella proprietà per definire la proprietà del messaggio SecondMessage. Questa proprietà è una stringa contenente lo stile e il testo del carattere per il secondo messaggio. Immettere il nome SecondMessage nella colonna Proprietà. Nella colonna Valore immettere la stringa: "{\WaitStyle}Il calcolo del costo dello spazio su disco è ancora in esecuzione. È possibile continuare ad attendere o tornare alla casella di selezione principale per uscire da questa sequenza".
  10. Aggiungi un record nella tabella Proprietà per definire la proprietà del messaggio WaitMessage. Questa proprietà è una stringa contenente lo stile del font e il testo per il messaggio visualizzato nella finestra di dialogo WaitForCosting se l'utente tenta di attivare un pulsante prima del completamento del costo. Immettere il nome WaitMessage nella colonna Proprietà. Nella colonna Valore della tabella Proprietà immettere: FirstMessage.
  11. Aggiungere un SetProperty ControlEvent alla tabella ControlEvent che inizializza WaitMessage su FirstMessage ogni volta che si apre una finestra di dialogo Nuova Selezione. Immettere l'identificatore per la finestra di dialogo che precede la finestra di dialogo Selezione nella sequenza della finestra di dialogo nella colonna Dialog_. Immettere l'identificatore del 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 Argument .Enter [FirstMessage] into the Argument column. Immettere 1 nella colonna Condizione e lasciare vuota la colonna Ordinamento.
  12. Aggiungere un SetProperty ControlEvent alla tabella ControlEvent che imposta Waitmessage a SecondMessage se l'utente chiude la finestra di dialogo WaitForCosting prima che sia stato determinato quanto costa lo 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 Argument .Enter [SecondMessage] into the Argument column. Immettere NOT CostingComplete nella colonna Condizione e lasciare vuota la colonna Ordinamento.
  13. Il passaggio seguente collega l'attributo controllo Text all'evento ControlEvent che genera la finestra di dialogo WaitForCosting. In questo modo il programma di installazione passa il valore della proprietà WaitMessage all'attributo del controllo Text ogni volta che l'utente apre una finestra di dialogo WaitForCosting.
  14. Sottoscrivere l'attributo controllo Text del controllo Text alla 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 Evento. Immettere Text, l'identificatore per l'attributo controllo Text, nella colonna Attribute della tabella EventMapping.