Social Icons

sábado, 1 de abril de 2017

TStyleManager - Temas Visuais no Delphi

Olá meus amigos delpheiros! Depois de muito tempo, estou retomando as postagens no blog. Eu mostrarei muitas novidades referentes as novas versões do delphi.

Uma dessas novidades que vem desde o delphi XE é a opção que permite estilizar o sistema com temas visuais sem a necessidade de alterar os componentes. Os estilos darão uma cara moderna para sua aplicação, além de permitir que os usuários escolham o tema visual da aplicação.

Para usar os temas visuais do delphi a opção Enable Runtime Themes deve estar marcada . Crie uma nova aplicação VCL e  vá ao menu:Project > Options > Appliction e marque as opções abaixo.


Agora selecione quais estilos você deseja utilizar para aplicação, para isso vá ao menu Project > Options > Application > Appearance. Você vai perceber que já existem vários estilos disponibilizado pelo delphi.


Informação 
Na opção Default style você escolherá qual será o tema inicial que sua aplicação apresentará.
Agora vamos montar um formulário para aplicar nossos estilos e permitir que o usuário escolha qual tema deseja utilizar. Arraste para ele alguns componentes conforme a imagem abaixo.


Informação 
Adicione o uses Vcl.Themes para ter acesso a classe TStyleManager

Vamos criar uma função para criar a lista de temas em uma combobox e chame ela no onCreate do formulário.

procedure TForm1.IniciarEstilos;
var
  v :String;
  vIndice :Integer;
begin
  ComboBox1.Clear;

  //Cria uma lista com os temas habilitados para o executável
  for v in TStyleManager.StyleNames do
    ComboBox1.Items.Add(v);

  //Pega o nome do tema atual e seleciona na lista de temas
  vIndice :=  ComboBox1.Items.IndexOf(TStyleManager.ActiveStyle.Name);
  ComboBox1.ItemIndex := vIndice;
end;


Agora implemente o evento onSelect para que ao selecionar o item do ComboBox o tema seja aplicado imediatamente.

procedure TForm1.ComboBox1Select(Sender: TObject);
begin
  TStyleManager.SetStyle(ComboBox1.Text);
end;


É isso aí! Agora é só compilar e testar os resultados. Abaixo mostro alguns exemplos.




Baixe os fontes do artigo no GitHub

Nenhum comentário:

Postar um comentário

Diga-nos, o que achou deste artigo?