Ir para conteúdo
Fórum Script Brasil
  • 0

[duvida] Como Inserir Uma Skin Numa Aplicação Delphi?


roberto_br

Pergunta

Como inserir uma skin numa aplicação Delphi?

Gostaria de saber como inserir uma skin numa aplicação Delphi.

Desenvolvi um programa e gostaria de inserir umas skins, deixar com umas 3 opções de skins, Sem Skin, Skin 1 e Skin 2.

Seria skins do tipo abaixo:

http://www.almdev.com/prods/skins/skins.htm

Meu Delphi é a versão 2007.

Aproveitando gostaria de saber como deixar com visual do Windows Vista, tava vendo que a versão 2007 do Delphi é possivel, mas não achei essas opções.

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0
Guest Valdomiro
Como inserir uma skin numa aplicação Delphi?

Gostaria de saber como inserir uma skin numa aplicação Delphi.

Desenvolvi um programa e gostaria de inserir umas skins, deixar com umas 3 opções de skins, Sem Skin, Skin 1 e Skin 2.

Seria skins do tipo abaixo:

http://www.almdev.com/prods/skins/skins.htm

Meu Delphi é a versão 2007.

Aproveitando gostaria de saber como deixar com visual do Windows Vista, tava vendo que a versão 2007 do Delphi é possivel, mas não achei essas opções.

Colega ... se voce já baixou os skins do endereço que você mesmo passou, ai vai mais uma dica:

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

Endereço para download: VCLSkin Demo

• 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 em:

http://www.infonet.com.br/procompanysistem...tigos/skins.rar

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.

Valdomiro Farias de Andrade Júnior

ProCompany Sistemas - Analista de Sistemas

procompanysistemas@infonet.com.br

Editado por Micheus
Adicionadas as tag's de código ([code]..[/code]) para melhor visualização - favor observá-las!
Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Jonas --

Amigos .. eu dei uma olhada na dica ... e achei muito legal, realmente impressionante, fica uma aplicação com o visual muito bacana ... vou adotar nas minhas futuras aplicações .... é muito Dez ... Valeu

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Valdomiro
Como inserir uma skin numa aplicação Delphi?

Gostaria de saber como inserir uma skin numa aplicação Delphi.

Desenvolvi um programa e gostaria de inserir umas skins, deixar com umas 3 opções de skins, Sem Skin, Skin 1 e Skin 2.

Seria skins do tipo abaixo:

http://www.almdev.com/prods/skins/skins.htm

Meu Delphi é a versão 2007.

Aproveitando gostaria de saber como deixar com visual do Windows Vista, tava vendo que a versão 2007 do Delphi é possivel, mas não achei essas opções.

Colega ... se voce já baixou os skins do endereço que você mesmo passou, ai vai mais uma dica:

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

Endereço para download: VCLSkin Demo

• 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 em: http://www.infonet.com.br/procompanysistem...tigos/skins.rar 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. Valdomiro Farias de Andrade Júnior ProCompany Sistemas - Analista de Sistemas procompanysistemas@infonet.com.br
No primeiro artigo sobre Skins descrevi a forma de utilizar o componente VclSkin, neste novo artigo venho demonstrar como guardar o último Skins escolhido. Existem várias formas para se guardar o último Skins escolhido, neste exemplo vamos utilizar aquivos tipo (.Ini) • Utilização: No evento formCreate do formulário principal carrego uma Procedure chamada CarregarSkin.
procedure TFrmPrincipal.CarregarSkin;
var
  i : integer;
  Skin : string;
begin
  LeIni(Skin); // Código abaixo..
  i := ListBox1.ItemIndex;
  ss := Skin;
  SkinData1.SkinFile := ss;
  if not SkinData1.Active Then SkinData1.Active := True;
end; 

\\ Código da Procedure LerIni(ss);
procedure TFrmPrincipal.LeIni(var Caminho: String);
var
  ArqIni : tIniFile;
begin
  ArqIni := TIniFile.Create('C:\Arquivos de Programas\ProCompany\ProCompany.Ini');
  Try
    Caminho := ArqIni.ReadString('Informação', 'Caminho', Caminho);
  Finally
    ArqIni.Free;
  end;
end;
No Onclique do Botão “Fechar” do panel (ver 1º artigo) chame a procedure GravarIni(); GravaIni(ss); \\ Onde ss e a string que vai trazer o caminho da Skin Escolhida..
\\ Código da Procedure GravaIni(ss);
procedure TFrmPrincipal.GravaIni(Caminho: String);
var
  ArqIni : TIniFile;
begin
  ArqIni := TIniFile.Create('C:\Arquivos de Programas\ProCompany\ProCompany.Ini');
  Try
    ArqIni.WriteString('Informação', 'Caminho', Caminho);
  Finally
    ArqIni.Free;
  end;
end;

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

Valdomiro Farias de Andrade Júnior

ProCompany Sistemas - Analista de Sistemas

procompanysistemas@infonet.com.br

Editado por Micheus
Alterado o link para download dod VCLSkin. Como não é free, não é possível manter outro link que não o oficial.
Link para o comentário
Compartilhar em outros sites

  • 0
Como inserir uma skin numa aplicação Delphi?

Gostaria de saber como inserir uma skin numa aplicação Delphi.

Desenvolvi um programa e gostaria de inserir umas skins, deixar com umas 3 opções de skins, Sem Skin, Skin 1 e Skin 2.

Seria skins do tipo abaixo:

http://www.almdev.com/prods/skins/skins.htm

A dica do colega Valdomiro é para o uso do componente VCLSkin (observar que este componente não é freeware).

Se você está utilizando o componente do link que você postou, então sugiro que você acesse a página de download do desenvolvedor (em http://www.almdev.com/) e baixe os demos que lá estão disponíveis (procure por "Samples ...").

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Jonas --
Como inserir uma skin numa aplicação Delphi?

Gostaria de saber como inserir uma skin numa aplicação Delphi.

Desenvolvi um programa e gostaria de inserir umas skins, deixar com umas 3 opções de skins, Sem Skin, Skin 1 e Skin 2.

Seria skins do tipo abaixo:

http://www.almdev.com/prods/skins/skins.htm

A dica do colega Valdomiro é para o uso do componente VCLSkin (observar que este componente não é freeware).

Se você está utilizando o componente do link que você postou, então sugiro que você acesse a página de download do desenvolvedor (em http://www.almdev.com/) e baixe os demos que lá estão disponíveis (procure por "Samples ...").

Colegas ... caso queiram a vcl skins para o delphi a que o colega Valdomiro se refeiu, esta neste link : http://www.activedelphi.com.br/componentes/vclskin2.rar

OBS: gratuito ... basta fazer o download, instalar .... dentro do arquivo vclskin2.rar contem a vcl para o delphi 5,6 e 7 e uma pasta com 47 modelos de skins . já baixei no meu micro e achei muito legal ... acompanha o help tambem ..... valeu ?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --HDELPHI --

Aproveitando o assunto e a quem possa interessar : Como criar uma skin usando figuras bmp

O princípio de tudo está em saber escolher uma imagem que possa se transformar em uma skin.

Para isso escolha imagens que tenham formas bem definidas.

Depois vamos trabalhar com essa imagem, pode usar qualquer editor de imagens que trabalhe com o formato ".bmp", isso porque as imagens nesse formato não perdem qualidade ao serem alteradas.

Edite a imagem do seu gosto, porém as partes que ficarão transparentes você deve deixar na cor branca.

Agora vamos ao Delphi:

Crie um novo projeto.

File -> New -> Application

Altere no "Form1" as seguintes propriedades:

AutoSize = True

BorderStyle = bsNone

Color = clFuchsia

TransparentColor = True

TransparentColorValue = clFuchsia

(Para transparência use sempre uma cor exagerada, não use branco ou preto, pois outros componentes do seu projeto que tenham estas cores ficarão transparentes).

Insira um componente "Image" e altere as seguintes propriedades:

AutoSize = True

Picture = Selecione a imagem que você escolheu.

Transparent = True

Salve o projeto e compile para ver o resultado.

Para dar uma incrementada na sua skin você pode inserir novas imagens e dar funções de botões para elas, fazer elas mudar ao passar o mouse ou efeitos parecidos incrementam bastante seu projeto. Aí vai da criatividade de cada um.

Use sempre "Labels" e "Images" com a propriedade "Transparent = True".

Obs.: Ao usar a imagem no formato ".bmp" o seu executável ficará relativamente grande.

Você pode trabalhar com o formato ".png". Este formato é muito bom pois reduz o tamanho da imagem em relação ao bmp e mantém algumas propriedades como transparência e qualidade.

Porém se o seu Delphi não suportar a extenção ".png", sugiro salvar a imagem no formato ".gif" com transparência.( Perde um pouco a qualidade mas é um arquivo pequeno em relação ao bmp).

OBS: Este artigo foi publicado por adairfolmer.

Achei interessante complementar este tópico do forum. Acho que vai ser interessante para muitos outros colegas programadores.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Boa noite tudo bem heinnn

aproveitando eu quero fazer o mesmo que o amigo ae

fiz como você falou executo clico no botão carrega todos os skins mais não munda de skin ou cor fica na mesma....

pode me ajuda ...

tenho de fazer meu tcm pro curso no fim do ano ae eu quero fazer uma coisa legal heinn

abraço

agradeço deste já a ajuda flwwwww :rolleyes:

Link para o comentário
Compartilhar em outros sites

  • 0
clico no botão carrega todos os skins mais não munda de skin ou cor fica na mesma

Se voce estiver usando o componente SkinData, basta colocar o caminho da skin na propriedade SkinFile e ativar a skin na propriedade Active.

OBS Coloque o componente SkinData no primeiro form do seu programa

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...