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

Fundo do Form Transparente


DelpheroMn

Pergunta

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

  • 0

tente essa função

procedure 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

Link para o comentário
Compartilhar em outros sites

  • 0

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.

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,5k
×
×
  • Criar Novo...