Agregar texto almacenado en una propiedad
El ejemplo descrito en la sección titulada Cuadro de mensaje Creación de un "Espere . . . " condicional muestra un cuadro de diálogo con texto en el que se lee: "Espere mientras se completa el costo del espacio en disco". Esto se puede hacer simplemente colocando un control de texto en el cuadro de diálogo y escribiendo la cadena de texto en la columna de texto de la tabla Control. En este caso, la información sobre el estilo de fuente debe incrustarse en la cadena. El autor debe establecer la fuente y el estilo de fuente prefijando la cadena de caracteres con {\style}. Donde style es un identificador de estilo de fuente que aparece en la columna TextStyle de la tabla TextStyle. Este método para agregar texto se muestra varias veces en Un ejemplo de instalación.
Un autor de una interfaz de usuario también puede almacenar texto en una propiedad . El ejemplo siguiente ilustra esto y muestra cómo se puede usar ControlEvents para mostrar cadenas de texto alternativas.
El objetivo de este ejemplo es volver a colocar un cuadro de diálogo WaitForCosting mientras se ejecuta una tarea en segundo plano. La diferencia con el nuevo escenario es que si el usuario cancela el cuadro de diálogo WaitForCosting e intenta activar el control antes de que la tarea en segundo plano haya finalizado una segunda vez, el cuadro WaitForCosting vuelve a aparecer mostrando un mensaje alternativo: "El costo del espacio en disco sigue en ejecución. Puede continuar esperando o volver al cuadro de selección principal para salir de esta secuencia".
Para mostrar un cuadro de diálogo "Espere" que muestra mensajes alternativos
- Comience agregando un cuadro de diálogo WaitForCosting condicional a un cuadro de diálogo Selección, tal y como se describe en Creación de un cuadro de mensaje "Espere . . . " condicional.
- Coloque un control Texto en el cuadro de diálogo WaitForCosting mediante la creación de un registro en la tabla Control. Escriba el identificador del cuadro de diálogo WaitForCosting en la columna Diálogo_. Escriba el identificador de control Texto en la columna Control. Especifique el tipo de control como Texto en la columna Tipo.
- Especifique el atributo de control de posición para el control de texto escribiendo las coordenadas horizontales y verticales de la esquina superior izquierda del control en las columnas X e Y de la tabla Control. Use píxeles como unidades de distancia.
- Especifique el ancho y alto del control de texto escribiendo estas dimensiones en las columnas Ancho y Alto de la tabla Control. Use píxeles como unidades de longitud.
- Las columnas Property y Control_Next de la tabla Control no afectan a los controles de texto y se pueden dejar en blanco en este caso.
- Especifique los atributos de control para el control de texto que están asociados a marcas de bits. Agregue juntos los valores de bits individuales y escriba el total en la columna Atributos de la tabla Control. Estos son los atributos de control Visible, Sunken, Enabled, Transparent, NoWrap y NoPrefix. La combinación de bits que muestran un control de texto en un fondo opaco, con el texto de ajuste es 0, por lo tanto, escriba 0 o deje en blanco la columna Atributos.
- La columna Texto de la tabla Control se puede dejar en blanco. El control Texto muestra la cadena de texto que es el valor del atributo de control Texto . El método para establecer este atributo se describe en los pasos posteriores de este procedimiento.
- Agregue un registro en la tabla Propiedad para definir la propiedad de mensaje FirstMessage. Esta propiedad es una cadena que contiene el estilo de fuente y el texto del primer mensaje. Escriba el nombre FirstMessage en la columna Propiedad. En la columna Valor, escriba la cadena : "{\WaitStyle}Espere mientras se completa el costo del espacio en disco". Donde WaitStyle es un identificador para uno de los estilos de fuente enumerados en la columna TextStyle de la tabla TextStyle.
- Agregue un registro en la tabla Propiedad para definir la propiedad de mensaje SecondMessage. Esta propiedad es una cadena que contiene el estilo de fuente y el texto del primer mensaje. Escriba el nombre SecondMessage en la columna Propiedad. En la columna Valor, escriba la cadena: "{\WaitStyle}Todavía se está ejecutando el costo del espacio en disco. Puede continuar esperando o volver al cuadro de selección principal para salir de esta secuencia".
- Agregue un registro en la tabla Propiedad para definir la propiedad de mensaje WaitMessage. Esta propiedad es una cadena que contiene el estilo de fuente y el texto del mensaje que se muestra en el cuadro de diálogo WaitForCosting si el usuario intenta activar un botón de inserción antes de completar el costo. Escriba el nombre WaitMessage en la columna Propiedad. En la columna Valor de la tabla Propiedad, escriba: FirstMessage.
- Agregue un SetProperty ControlEvent a la tabla ControlEvent que inicializa WaitMessage en FirstMessage cada vez que se abre un cuadro de diálogo Nueva selección. Escriba el identificador del cuadro de diálogo que aparece justo antes del cuadro de diálogo Selección de la secuencia del cuadro de diálogo en la columna Diálogo_. Escriba el identificador del control en este cuadro de diálogo que se usa para abrir el cuadro de diálogo Selección en la columna Control_. Escriba [WaitMessage] en la columna Evento. Escriba [FirstMessage] en la columna Argumento. Escriba 1 en la columna Condición y deje la columna Ordenación en blanco.
- Agregue un SetProperty ControlEvent a la tabla ControlEvent que establece Waitmessage en SecondMessage si el usuario cierra el cuadro de diálogo WaitForCosting antes de que se haya completado el costo del espacio en disco. Escriba el identificador del cuadro de diálogo WaitForCosting en la columna Diálogo_. Escriba el identificador de control Texto en la columna Control. Escriba [WaitMessage] en la columna Evento. Escriba [SecondMessage] en la columna Argumento. Escriba NO CostingComplete en la columna Condición y deje la columna Ordenación en blanco.
- En el paso siguiente se vincula el atributo de control Texto al ControlEvent que genera el cuadro de diálogo WaitForCosting . Esto hace que el instalador pase el valor de la propiedad WaitMessage al atributo de control Texto cada vez que el usuario abra un cuadro de diálogo WaitForCosting .
- Suscríbase el atributo de control Texto del control Texto al elemento SpawnWaitDialog ControlEvent que abre el cuadro de diálogo WaitForCosting agregando un registro a la tabla EventMapping. Escriba el identificador del cuadro de diálogo WaitForCosting en la columna Diálogo_. Escriba el identificador de control Texto en la columna Control. Escriba SpawnWaitDialog en la columna Evento. Escriba Texto, el identificador del atributo de control Texto, en la columna Atributo de la tabla EventMapping.