Buscar

Corrigir erro de panel transparente usando xpmanifet no delphi 7 e windows xp.

Código

{Quando se coloca um panel no formulário, automaticamente a propriedade ParentBackground vem como False, como é default na criação do Panel, o código de criação fica assim:}
 
  object Panel1: TPanel
    Left = 192
    Top = 104
    Width = 185
    Height = 41
    Caption = 'Panel1'
    TabOrder = 0
  end

{Aí está o problema (o que não deveria ser, eu acho que é bug), se você setar a propriedade para True e voltar para False, o código de criação do componente vai ir para:
 }

  object Panel1: TPanel
    Left = 192
    Top = 104
    Width = 185
    Height = 41
    Caption = 'Panel1'
    ParentBackground = False
    TabOrder = 0
  end

{ao fazer isso, o Panel não irá mais ficar Transparente, mesmo com o componente XPManifest.
------------------------------------------------------------------------------------------
 
Uma dificuldade foi com o ChartPreview (Tela de Preview de Impressão de gráficos), do componente DBChart, em que ficava alguns erros de panel transparente.
Abri o formulário responsável pela criação deste Preview e corrigi.
 
Para corrigir o seu, basta abrir o arquivo dfm :
(C:Arquivos de programasBorlandDelphi7LibTeePrevi.dfm)
 
Lembrando que nao vem o .pas desta biblioteca de Preview, só vem a dcu.
Para vc utilizar, no uses coloque TeePrevi
 
e depois no codigo, ChartPreview(Self, DBChart1);
 
C:Arquivos de programasBorlandDelphi7LibTeePrevi.dfm
 
e faça as seguintes midificações:
 
-------------------------------------------------
linha 18:}

  object Panel1: TPanel            
    Left = 0
    Top = 0
    Width = 551
    Height = 38
    Align = alTop
    TabOrder = 0
 
//Para:
 
  object Panel1: TPanel            
    Left = 0
    Top = 0
    Width = 551
    Height = 38
    Align = alTop
    ParentBackground = False               // Observe esta linha
    TabOrder = 0
 
//-------------------------------------------------
//linha 78:
 
  object Panel2: TPanel
    Left = 0
    Top = 38
    Width = 112
    Height = 345
    Align = alLeft
    TabOrder = 1

//Para:
 
  object Panel2: TPanel
    Left = 0
    Top = 38
    Width = 112
    Height = 345
    Align = alLeft
    ParentBackground = False         // Observe esta linha
    TabOrder = 1
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 03/08/04
Por: Jaisson Domini Da Cruz
Visualizada: 13182 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009