Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
Rallu Novato
Registrado: Quarta-Feira, 4 de Março de 2009 Mensagens: 24
|
|
Voltar ao Topo |
|
|
marcocunhasilva Profissional
Registrado: Segunda-Feira, 21 de Agosto de 2006 Mensagens: 740 Localização: Porto Alegre
|
Enviada: Qua Mar 18, 2009 10:05 am Assunto: |
|
|
Olá, Rallu, tudo bem?
Acabei de enviar o programa de exemplo que fiz.
A versão dos componentes PNG que eu uso é a 1.4.
Espero ter ajudado!
Abraços |
|
Voltar ao Topo |
|
|
Rallu Novato
Registrado: Quarta-Feira, 4 de Março de 2009 Mensagens: 24
|
Enviada: Qua Mar 18, 2009 10:32 am Assunto: |
|
|
Marco
O teu programa funcionou, mas você está usando os PNGSpeedButtons. Eu não queria usar eles, eu gostaria de usar os botões da Toolbar mesmo, os TToolButtons. É com os TToolButtons que o PNGImageList não funciona direito. Até poderia usar os PNGSpeedButtons, mas quando eu boto eles dentro de uma ToolBar e modifico a propriedade flat para true os botões ficam com um risco no meio, é um bug, acontece com os SpeedButtons do Delphi tb. Pelo menos aqui acontece isso. Uso o Delphi 7. |
|
Voltar ao Topo |
|
|
marcocunhasilva Profissional
Registrado: Segunda-Feira, 21 de Agosto de 2006 Mensagens: 740 Localização: Porto Alegre
|
Enviada: Qui Mar 19, 2009 5:57 pm Assunto: |
|
|
Olá, Rallu, tudo bem?
Fiz os testes aqui e também algumas de minhas imagens ficaram pretas.
Originalmente, os componentes do Delphi 7 não foram projetados para trabalhar com as imagens PNG. Já a versão 2009 do Delphi isso foi modificado e já aceita essas imagens.
Use os PNGSpeedButtons, é mais apropriado.
Espero ter ajudado.
Abraços. |
|
Voltar ao Topo |
|
|
gilsonnrodrigues Moderador
Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Qui Mar 19, 2009 7:07 pm Assunto: |
|
|
marcocunhasilva escreveu: | Olá, Rallu, tudo bem?
Fiz os testes aqui e também algumas de minhas imagens ficaram pretas.
Originalmente, os componentes do Delphi 7 não foram projetados para trabalhar com as imagens PNG. Já a versão 2009 do Delphi isso foi modificado e já aceita essas imagens.
Use os PNGSpeedButtons, é mais apropriado.
Espero ter ajudado.
Abraços. |
lógico q foi projetado.
ele tem um canvas, quem souber escrever/desenhar nele pode usar a vontade. |
|
Voltar ao Topo |
|
|
gilsonnrodrigues Moderador
Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Qui Mar 19, 2009 7:09 pm Assunto: |
|
|
amanha eu vou testar num pc q tem o d7 com pngcomponents instalado
pq no meu D5 tenho GPNGCompontes |
|
Voltar ao Topo |
|
|
Rallu Novato
Registrado: Quarta-Feira, 4 de Março de 2009 Mensagens: 24
|
Enviada: Qui Mar 19, 2009 11:22 pm Assunto: |
|
|
Dá para desenhar PNGs direto no canvas sim. Eu usei o evento OnCustomDrawButton da ToolBar e consegui desenhar. Mas é claro, com o PNGImageList isso ficaria bem mais prático. |
|
Voltar ao Topo |
|
|
gilsonnrodrigues Moderador
Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Sex Mar 20, 2009 10:47 am Assunto: |
|
|
teste esse código
Código: | procedure TForm1.ToolBar1CustomDrawButton(Sender: TToolBar; Button: TToolButton;
State: TCustomDrawState; var DefaultDraw: Boolean);
var
R : TRect;
begin
R := Button.BoundsRect;
//ToolBar1.Canvas.FillRect(R);
PngImageList1.Draw(ToolBar1.Canvas, (R.Left + R.Right - PngImageList1.Width) div 2 , (R.Top + R.Bottom - PngImageList1.Height) div 2, Button.ImageIndex, Button.Enabled);
DefaultDraw := False; | end; |
|
Voltar ao Topo |
|
|
Rallu Novato
Registrado: Quarta-Feira, 4 de Março de 2009 Mensagens: 24
|
Enviada: Sex Mar 20, 2009 3:01 pm Assunto: |
|
|
O código funciona, o problema é ter que desenhar cada possível estado do botão. Para uma Toolbar isto não é tão difícil. Mas tem outro problema, o PNGImageList também não funciona com o TListView, acontece o mesmo problema da ToolBar, os ícones escurecem. Desenhar no TListView é mais complicado, ele tem diferentes maneiras de ser visualizado (vsIcon, vsReport, vsSmallIcon, vsList), eu não consegui desenhar perfeitamente. O ideal seria que o PNGImageList funcionasse...
Mas vlw a dica Gilson! |
|
Voltar ao Topo |
|
|
|