En este ejemplo, veremos cómo cambiar dinámicamente el tema de las aplicaciones usando la macro sc_set_theme.
Para eso, se utilizarán dos aplicaciones.
Una aplicación de Control, que puede ser un inicio de sesión, por ejemplo,
Una aplicación de formulario - Cambiar_tema - donde se aplicará el cambio de tema, ya que la macro sc_set_theme tiene efecto solo en la aplicación posterior.
Esta aplicación puede ser de cualquier otro tipo.
1. En una aplicación de control, que suele ser la aplicación inicial del proyecto, cree un campo de tipo seleccionar.
En este campo, debe enumerar todos los temas que se utilizarán.
Los temas enumerados deben ser agregados previamente al proyecto.
En la edición de lookup puede ser automático, si hay una tabla con el nombre de los temas o manual, como en el ejemplo siguiente.
2. La macro sc_set_theme, cambia el tema en la sesión, de esta manera, todas las aplicaciones se mostrarán con el tema seleccionado.
La macro también se puede utilizar para cambiar el tema de la aplicación actual.
En caso de validez del control, ingrese el código a continuación.
Con eso, el tema se cambiará en la sesión y será redirigido a la siguiente aplicación. En este ejemplo, se está utilizando un formulario.
1. Ejecute la aplicación de control y seleccione un tema.
Tenga en cuenta que incluso después de seleccionar el campo de tema, la aplicación permanece con el tema inicial.
2. Haga clic en Aceptar, para que se aplique el tema y la aplicación se redirija al formulario.
La siguiente aplicación, en este caso el formulario, debe recibir el tema seleccionado.
Esta macro cambia el tema de la sesión, como se informó anteriormente. De esta forma, todas las aplicaciones se mostrarán con el tema seleccionado, incluido el control, cuando volvamos a él.
Por ejemplo, al hacer clic en el formulario usado en este ejemplo:
Para evitar que el tema de control también cambie cuando regresemos a esta aplicación, simplemente agregue la macro sc_set_theme en el evento onApplicationInit del control, pasando el tema predeterminado como una cadena.
De esta forma, el control se mostrará con un tema fijo estándar.