Fórum Label transparente (de verdade, existe MESMO?) #374938

15/09/2009

0

Pessoal,

Preciso que o label fique transparente DE VERDADE. Deixem-me explicar: já ajustei a propriedade Transparent do Label para True. Acontece que aí ele age de 2 maneiras distintas:

* Windows Vista: ele REALMENTE fica transparente (OK).
* Windows XP e 2003: ele NÃO FICA transparente de verdade, ele pega a cor do fundo e aplica.

Acontece que tenho alguns labels sobre um TImage e aí no Windows XP/2003, como ele NÃO FICOU TRANSPARENTE, fica o retângulo da cor do fundo envolta do texto.

Já mudei a configuração da placa de vídeo para 32 bits para ver se de repente era essa a informação que faltava para o componente mas continua vindo opaco.

Alguma sugestão para resolver isso? Estou fazendo algo errado? Alguém conhece algum componente FREE que faça isso? Algo desse tipo no Jedi?


Willian

Willian

Responder

Posts

02/07/2014

Jaime Santos

Estamos com um problema muito parecido, o que vem acontecendo é o seguinte:
Na minha máquina utilizo o Windows 7 Ultimate

Na minha aplicação utilizo Labels (TLabel) com a propriedade Transparent setada para True, pois bem, isto executando com a aparência do Windows com o Tema Aero do Windows 7, desta forma funciona perfeitamente ficando:

[img]http://arquivo.devmedia.com.br/forum/imagem/354833-20140702-134537.jpg[/img]

Porém se modifico a Aparência do Windows para o Tema clássico do Windows, fecho o delphi e abro novamente o projeto, ou até se executar o .exe compilado no tema anterior diretamente, todas as propriedades Transparent ficam como False, ficando:

[img]http://arquivo.devmedia.com.br/forum/imagem/354833-20140702-134522.jpg[/img]

Alguém já passou por isso? Já procurei e no projeto não existe o XPManifest (que já li alguns indicando como causa do problema).
Responder

Gostei + 0

02/07/2014

Jaime Santos

Percebi que o form está com as propriedades corretas porém o dfm não está a acompanhando... logo por exemplo:
                object lblDataHoraSaida: TLabel
                  Left = 578
                  Top = 13
                  Width = 111
                  Height = 13
                  Caption = 'Data Sa'#237'da/Entrada'
                  Font.Charset = DEFAULT_CHARSET
                  Font.Color = clWindowText
                  Font.Height = -11
                  Font.Name = 'Tahoma'
                  Font.Style = [fsBold]
                  ParentFont = False
                end

Em modo Form a propriedade Transparent = True
caso eu coloque para False e depois para True novamente ele acrescenta no modo Text a propriedade ficando:
                object lblDataHoraSaida: TLabel
                  Left = 578
                  Top = 13
                  Width = 111
                  Height = 13
                  Caption = 'Data Sa'#237'da/Entrada'
                  Font.Charset = DEFAULT_CHARSET
                  Font.Color = clWindowText
                  Font.Height = -11
                  Font.Name = 'Tahoma'
                  Font.Style = [fsBold]
                  ParentFont = False
                  Transparent = True
                end


Alguém sabe se existe alguma forma de atualizar o dfm automaticamente ou só indo de componente por componente?

Att.
Responder

Gostei + 0

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

Aceitar