GARANTIR DESCONTO

Fórum Criar Toolbar Transparentes (ou com fundo em Degradê) #183071

19/09/2003

0

Gostaria de fazer uma toolbar transparente, no estilo das toolbars de mensagem do MSN Messenger, ou outros programas do Windows XP. Tentei deixar uma imagem alinhada atrás da minha Toolbar, e deixei a propriedade Transparent = true da toolbar. Porém, com meus testes, verifiquei que essa propriedade, se não apenas se assemelha, é IGUAL à ParentColor = true (ou seja: Não fica trasnparente, mas sim pega a cor do pai, que normalmente é o formulário).
Como eu faço para deixar o fundo da toolbar transparente, ou colocar como fundo uma imagem?!

Obrigado,

Paulo José


Vulcanus

Vulcanus

Responder

Posts

22/09/2003

Vulcanus

Pessoal, eu procurei sobre isso no próprio forum, e as duas coisas relacionadas que eu achei foi o Canvas.Brush.Style := bsClear (que, também, ao olhar no Help do Delphi, li que foi sugerido usar essa opção quando eu uso repaint, para evitar flickers), e usando AlphaBlend = :true com AlphaBlendValue menor que 255 (aplicável apenas a forms).
Mas como eu faço para deixar O FUNDO de uma Toolbar, por exemplo, ou um TImage, etc, transparente (transparente real, não transparente cor de formulário)?
Se não for transparente, como eu defino uma cor de fundo na toolbar?!

Por favor, respondam, preciso dessa informação :)

Obrigado a todos!

Paulo


Responder

Gostei + 0

22/09/2003

Micheletti

Quando vc descobrir posta aqui pq vai me ajudar tb...
obg... :D


Responder

Gostei + 0

23/09/2003

Vulcanus

Pois é, parece que isso é realmente difícil, porque ninguém respondeu, deve ser que não sabem :P
Eu achei alguns locais, inclusive nesse forum, falando sobre componentes transparentes, indicados na página www.drdelphi.com.br, porém o link é quebrado... achei também, outras páginas que possuem componentes para adicionar o verdadeiro transparente (ou real transparent) em imagens, o que eu acredito que é aplicado na toolbar da mesma forma, mas eu não entendi nada do código (ele utilizava brushcopy, e outras coisas do tipo, mas não tentei entender exatamente o que ele fazia, porque acho que deve ser meio gambiarra isso que ele fez! Tem que ter algo mais simples, não é possível!)...
Continua aqui o meu pedio...
Componentes REALMENTE transparentes, não aquela coisa TOSCA que o Delphi chama de transparente...
É ruim qdo não respondem, parece que quem lê sabe mas fica com preguiça de responder, ou simplesmente ignora a mensagem...
valeu por ter respondido, Micheletti, pelo menos descobri que não estou sozinho, aqui!


Responder

Gostei + 0

23/09/2003

Micheletti

Espero a resposta tb...e vou pesquisar um pouco p v se descubro..falow!


Responder

Gostei + 0

23/09/2003

Nigro

O site do Dr.Delphi era aqui de Santos, isso mesmo, era, pois o prjeto foi abandonado pelos seus idealizadores.


Responder

Gostei + 0

24/09/2003

Vulcanus

Pois é, e alguém aí frequentava esse dr. Delphi e já viu alguma solução com o mínimo de gambiarra possível, ou conhece alguma?!
Vou procurar esse Dr. Delphi no internet archive... talvez eu ache :)
falow povo, valeuz


Responder

Gostei + 0

24/09/2003

Micheletti

Tentei colocar uma imagem de fundo, mais quando dei run ela ñ apareceu....
Que posso fazer p que ela apareça..
já tentei assim:

Align : allClient
Picture : Imagem que quer que fique de fundo
Stretch: True


Responder

Gostei + 0

24/09/2003

Vulcanus

Olha, eu fiz esse teste:
Coloquei uma imagem chamada ´degrade.bmp´ na pasta do meu projeto de teste...

adicionei minha toolbar (ToolBar1), e alguns botões

adicionei um botão com o seguinte código:

var
Bitmap: TBitmap;
begin
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile(´degrade.bmp´);
ToolBar1.Canvas.Brush.Bitmap := Bitmap;
ToolBar1.Canvas.FillRect(Rect(0,0,ToolBar1.Width,ToolBar1.Height));
finally
ToolBar1.Canvas.Brush.Bitmap := nil;
Bitmap.Free;
end;
end;

OK, eu preenchi minha toolbar com a cor do meu degradê, porém os botões também foram preenchidos por essa cor, e quando eu passo o mouse por cima (são flat buttons), eles se elevam, substituindo a cor, e voltam ao normal. Se eu movo a tela de modo que a toolbar seja escondida, ao ser mostrada novamente a imagem voltará à cor normal. Eu vou ter que fazer uma função de repaint o tempo todo?! e vou ter que ficar testando se está ou não na área do botão pra colocar a cor?! Eu queria colocar o botão preenchido, também, mas só o fundo do botão, sem pintar a imagem, claro!
Alguém imagina uma solução tendo como base o que eu coloquei, ou então algo totalmente diferente? :)

Não vou desistir enquanto não descobrir um jeito!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar