DelpheroMn Postado Outubro 16, 2012 Denunciar Share Postado Outubro 16, 2012 Olá galera, eu estou com um problema.Meu programa eu quero que tenha uma borda modelada, com transparencias nessas bordas, pra ficar algo mais bonito e agradável, no entanto estou tendo problemas com a propriedade transparentcolor.Observem:http://i50.tinypic.com/j96n8z.pngA função em si funciona perfeitamente, porém a parte que imagem é semi transparente, como uma sombra ou algo do tipo ele não aplica a propriedade.Existe algum componente que possa me ajudar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 17, 2012 Denunciar Share Postado Outubro 17, 2012 qual é a função que voce esta usando ? talvez voce tenha que fazer um tratamento na imagem. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DelpheroMn Postado Outubro 17, 2012 Autor Denunciar Share Postado Outubro 17, 2012 Self.TransparentColor := True; Self.TransparentColorValue := ColorToRGB(Self.Color); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 17, 2012 Denunciar Share Postado Outubro 17, 2012 tente essa funçãoprocedure TForm1.FormCreate(Sender: TObject); const WS_EX_LAYERED = $00080000; LMA_COLORKEY = $00000001; LMA_ALPHA = $00000002; type TLayerFunc = function(hwnd : HWND; crKey : COLORREF; bAlpha : BYTE; dwFlags : DWORD) : boolean; stdcall; var ExtStyle : LongInt; LayerFunc : TLayerFunc; LibHandle : HModule; begin LibHandle := LoadLibrary(user32); if LibHandle > 0 then begin LayerFunc := GetProcAddress(LibHandle, 'SetLayeredWindowAttributes'); if Assigned(LayerFunc) then begin ExtStyle := GetWindowLong(Handle, GWL_EXSTYLE); SetWindowLong(Handle, GWL_EXSTYLE, ExtStyle or WS_EX_LAYERED); LayerFunc(Handle, rgb(255,0,0), 120, LMA_ALPHA or LMA_COLORKEY); end; FreeLibrary(LibHandle); end; end;abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DelpheroMn Postado Outubro 18, 2012 Autor Denunciar Share Postado Outubro 18, 2012 Não Jhonas, oque essa função faz é aumentar a transparencia do form inteiro.Provavelmente foi feita para as versões do delphi anteriores ao 4 , porque após essa versão eles criaram a propriedade AlphaBlendValue e AlphaBlend.Posso fazer fácilmente oque esta função fez ultilizando o seguinte código:Self.AlphaBlend := true;Self.AlphaBlendValue := 120;No caso ele coloca a transparência no form inteiro, se houvesse um método de colocar a transparencia sómente no fundo do form, deixando os componentes visiveis me ajudaria da forma que quero.Exemplo:O Form por inteiro transparente, porém o Componente TImage Visível. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 18, 2012 Denunciar Share Postado Outubro 18, 2012 tente assim entãoprocedure TForm1.FormCreate(Sender: TObject); begin Form1.Brush.Style := bsClear; end;abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DelpheroMn Postado Outubro 18, 2012 Autor Denunciar Share Postado Outubro 18, 2012 Nesse caso também não funciona Jhonas, porque no fundo da imagem que era pra ficar transparente por ela ser em png, fica preto com essa função..Estava pesquisando sobre componentes do gênero também e não achei nada :/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 18, 2012 Denunciar Share Postado Outubro 18, 2012 como eu disse, voce tem que fazer um tratamento na imagem para que ela fique com o fundo transparenteusando o seu proprio codigoabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DelpheroMn Postado Outubro 23, 2012 Autor Denunciar Share Postado Outubro 23, 2012 mas nesse caso ele tira tipo um "print" do fundo e grava até fechar o form.Então se caso você minimizar a janela que estava no fundo , o fundo que ele iniciou continuará.Teria alguma forma que fosse em tempo real? porque fica meio esquisito, ao mover o form a imagem de fundo ficar travada Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 24, 2012 Denunciar Share Postado Outubro 24, 2012 fiz um teste aqui e a imagem não fica travada não e ao minimizar a figura do TImage não permanece no fundo ... ou envie uma amostra do que ocorre aiabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
DelpheroMn
Olá galera, eu estou com um problema.
Meu programa eu quero que tenha uma borda modelada, com transparencias nessas bordas, pra ficar algo mais bonito e agradável, no entanto estou tendo problemas com a propriedade transparentcolor.
Observem:
http://i50.tinypic.com/j96n8z.png
A função em si funciona perfeitamente, porém a parte que imagem é semi transparente, como uma sombra ou algo do tipo ele não aplica a propriedade.
Existe algum componente que possa me ajudar?
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
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.