8 de jan. de 2011

# Alterando Visual da Aplicação (Skins)

Você certamente já buscou diversas maneiras de deixar sua aplicação com um visual diferente. Existem vários componentes que prometem trazer este resultado para você, mas de todos que testei o mais impressionante e o que uso em minhas aplicações é o VclSkins...

Pode ser usado os skins em um determinado form ou em toda aplicação. Neste artigo vou mostrar como usar em toda aplicação.

• Requisitos:

VCLSkin (baixe ao final da página)


• Utilização:
Após instalar o componente no delphi, copie a pasta skins para o lugar onde salvou o projeto.

Crie uma nova aplicação, no form adicione um Listbox, button e o componente SkinData.

1- No onclick do button adicione a seguinte linha de comando:

//Isto irá carregar as skins dentro do listbox
var
  Procurar : TSearchRec;
  Arquivos: Integer;
Begin

  CaminhoDasSkins := ExtractFilePath(Application.ExeName) + 'skins\*.skn';
  Arquivos := 0;
  Arquivos := Arquivos + faDirectory;
  Arquivos := Arquivos + faArchive;
  Arquivos := Arquivos + faAnyFile;
  if FindFirst(CaminhoDasSkins, Arquivos, Procurar) = 0 then
  begin
    repeat
      if (Procurar.Attr and Arquivos) = Procurar.Attr then
        ListBox1.Items.Add(Procurar.Name);
    until FindNext(Procurar) <> 0;
    FindClose(Procurar);
end;


No evento Onclick do ListBox adicione a seguinte linha de comando:

Crie as variáveis: CaminhoDasSkins , ss : string;

var
  i : integer;
begin
  i := ListBox1.ItemIndex;
  ss := Copy(CaminhoDasSkins,1,Pos('*.skn',CaminhoDasSkins)-2)+'\'+ListBox1.items.strings[i];
  SkinData1.SkinFile := ss;
  if not SkinData1.Active Then SkinData1.Active := True;

end

Agora rode a aplicação e clique no button para carregar as skins.

Depois clique nas skins carregadas dentro do listbox e veja como muda todo o visual da aplicação. Adicione ao exemplo menus, caixas de diálogos, buttons, grids e veja como todos os componentes alteraram seu visual.

Pode ser baixado o exemplo criado neste artigo ao final da página.


Pode ser criado um arquivo .ini para guardar a última seleção da skin para quando voltar a rodar a aplicação trazer carregada a última skin escolhida, mas isto fica para um novo artigo.

Espero ter ajudado, qualquer outra dúvida, entre em contato comigo.

source-delphi-skins.rar
vclskin-2.rar


By: CrY

Nenhum comentário:

Postar um comentário