Como alterar dinamicamente o tema de um projeto utilizando a macro sc_set_theme

Á

Álvaro Moura

Última atualização em Jul 6, 2026

O Scriptcase disponibiliza macros, funções criadas pelos desenvolvedores do Scriptcase, que irão auxiliar na customização das aplicações bem como simplificar a edição dos códigos nos eventos.

Neste artigo, veremos como utilizar a macro sc_set_theme na prática, para a alteração dos temas das suas aplicações.

Utilizando a macro sc_set_thema no Login

A macro realiza a alteração do tema na sessão, fazendo com que a alteração seja aplicada para todas as demais aplicações, até que a sessão seja finalizada ou o tema alterado novamente.

1. Primeiramente devemos criar um campo select que deve conter todos os temas disponíveis para a alteração.

Os temas listados devem ser adicionados previamente no projeto.

O método do lookup pode ser automático, caso exista uma tabela com o nome dos temas ou manual, como no exemplo abaixo.

2. Após a criação do campo, no ínicio do evento onValidade insira o código da macro como na imagem abaixo:

Segue o código que deve ser adicionado.

  1. // Utilizando a macro sc_set_thema
  2. $thema = {set_theme};
  3. sc_set_theme($thema);

A macro aceita string sc_set_theme('NomeTema'); ou veriável local como no exemplo acima.

Executando a aplicação

  1. Execute a aplicação de controle(Login) e selecione um tema.

  2. Clique no ok, para executar o evento onValidade, para a alteração do tema seja realizada.

A próxima aplicação, neste exemplo o formulário, receberá o tema selecionado.

Como manter o login com o tema padrão.

Esta macro realiza a alteração do tema na sessão, como informado anteriormente. 
Desta forma, todas as aplicações serão exibidas com o tema selecionado, inclusive a aplicação de login.

Para manter o login com o tema padrão, adicione a macro sc_set_themeno evento onApplicationInit informando o tema desejado.

  1. sc_set_theme('BlueBerry');

Caso queria que o tema do login também seja alterado, basta não adicionar a macro no evento onApplicationInit.