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

(Resolvido) ListView Trasnparente


William - TI

Pergunta

Estou procurado mais até agora não consegui fazer com que um ListView fique trasparente ou mostrar a imagem que tem atrás dele, consegui fazer com que ele ficase da cor da tela do fundo do formulário porém em cima da imagem ele permanece da cor do fundo do formulário ao invés de aparecer a imagem.

Mais uma vez agradeça a atenção.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Estou procurado mais até agora não consegui fazer com que um ListView fique trasparente ou mostrar a imagem que tem atrás dele, consegui fazer com que ele ficase da cor da tela do fundo do formulário porém em cima da imagem ele permanece da cor do fundo do formulário ao invés de aparecer a imagem.

O componente ListView não tem a propriedade de transparencia... para conseguir o que está querendo tem 2 sugestões

1 - deixar o seu form transparente ... dessa maneira o seu listview tambem ficará transparente

exemplo:

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;

2 - usar um componente devirado da classe (TListView)

http://www.delphifaq.com/faq/delphi/windows_GUI/f670.shtml

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Apenas uma nota sobre forms transparentes:

Apartir do delphi 7 tem as propriedades AlphaBlend e AlphaBlendValue na classe TForm

AlphaBlend := True {Habilita transparecia do form}

AlphaBlendValue := Range entre 0 e 255, sendo q 0 o form fica 100% invisível.

[]'s

Everson Novka

http://www.eversonnovka.com

Estou procurado mais até agora não consegui fazer com que um ListView fique trasparente ou mostrar a imagem que tem atrás dele, consegui fazer com que ele ficase da cor da tela do fundo do formulário porém em cima da imagem ele permanece da cor do fundo do formulário ao invés de aparecer a imagem.

O componente ListView não tem a propriedade de transparencia... para conseguir o que está querendo tem 2 sugestões

1 - deixar o seu form transparente ... dessa maneira o seu listview tambem ficará transparente

exemplo:

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;

2 - usar um componente devirado da classe (TListView)

http://www.delphifaq.com/faq/delphi/windows_GUI/f670.shtml

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...