Fórum Caption desaparece no PageControl #370208

04/05/2009

0

Pessoal, estou com um problema que parece ser simples, mas tem dado-me dor de cabeça, tenho um tela onde tem no fundo um image que carrega uma imagem e em cima deste image tem um Pagecontrol com várias abas, pois bem quando compilo a tela os caption de cada TabSheet fica invisivel, já tentei quase tudo e não consegui resolver se alguém puder me ajudar agradeço desde já.

Utilizo Delphi 7+Firebird 2.0

abraço


Estanieski

Estanieski

Responder

Posts

04/05/2009

Marcosrocha

1º Está utilizando arquivos ´.manifest´?
2º Seu PageControl está com a propriedade OwnerDraw = True?


Responder

Gostei + 0

05/05/2009

.lg.

também estou tendo o mesmo problema no D2009. Crio minha aplicação com pagecontrol e as abas estão ficando sem o caption.

MarcosRocha,
1. Aonde eu confirmo se estou ou não usando este arquivo!?
2. Sim, a propriedade ´OwnerDraw´ está True.

Att,
.lg.


Responder

Gostei + 0

05/05/2009

Marcosrocha

Arquivos manifest ficam na mesma pasta do executável, com o mesmo nome mas com extensão .manifest
São arquivos de configurações de como a API do Windows vai tratar seus componentes visuais.

A propriedade OwnerDraw do PageControl (como o próprio nome ja diz, desenho pelo criador) significa que quem criou o PageControl é responsável por desenhar o caption de suas abas, ou seja, os captions têm de ser escritos manualmente via Canvas. Se você não estiver fazendo desenhos em Canvas no PageControl, desative a propriedade OwnerDraw setando-a para ´False´


Responder

Gostei + 0

05/05/2009

.lg.

Aproveitar que o assunto é sobre o PageControl...

A propriedade OwnerDraw do PageControl (como o próprio nome ja diz, desenho pelo criador) significa que quem criou o PageControl é responsável por desenhar o caption de suas abas, ou seja, os captions têm de ser escritos manualmente via Canvas.

É coerente. Mas se for assim ferro então! Porque cade a produtividade disso!? Entende!?

Outro problema:
Se eu deixo o ´[b:4456e60966]OwnerDraw[/b:4456e60966]´ False, o caption aparece, porém, meu programa aparece a PageControl toda com a cor branca sem os contorno nas bordas que o windows faz. Fica as abas tudo Quadradas.

Como eu concerto esse problema da cor e das bordas!? Retratando pelo que você falou:
significa que quem criou o PageControl é responsável por desenhar

quando eu deixo a opção para True, o PageControl fica com a cor normal do windows e com as bordas arredondadas. Porem quando eu seto para False (ou seja, eu nem preciso mecher no canvas, pois a aplicação se encarrega de ´desenhar´), o pageControl perde a cor indo pra branco e perde o contorno deixando todo o pageControl com bordas quadrado perfeito.

Como que resolve?

Att,
.lg.


Responder

Gostei + 0

05/05/2009

Woinch

Quais problemas o arquivo ´.manifest´ pode apresentar nesse caso como mencionado pelo colega MarcosRocha?

Obrigado.


Responder

Gostei + 0

05/05/2009

Marcosrocha

O arquivo manifest oferece instruções de como o sistema operacional deve interagir com a aplicação. Existe um componente na paleta ´Win32´ chamado XPManifest que, se colocado no DataModule, fornece uma série de mudanças no visual do seu sistema. De início, todos os BitBtn, Button e SpeedButton irão possuir cantos arredondados assim como o WindowsXP. Os TabSheets do PageControl também tomarão o padrão do seu Windows (porém por se tratar de manifest o PageControl fica Branco que é o padrão do Windows). Os Edits ficarão mais suaves e CheckBoxes, RadioButtons ganharão um ´look´ mais elegante.
Enfim... utilizando o XPManifest (ou arquivo manifest http://imasters.uol.com.br/artigo/3294/delphi/sua_aplicacao_delphi_com_aparencia_do_windows_xp/) sua aplicação ganha uma nova cara estilo WindowsXP.

Mais uma coisa: O uso desta técnica no Delphi 6 pode acarretar em alguns bugs como o foco sumir às vezes quando se dá um tab e entrar em um CheckBox ou RadioButton. Delphi 7 Normal.


Responder

Gostei + 0

06/05/2009

.lg.

É interessante, porém...
Testei, e não deu certo. Usei o [b:dce6faa762]XPManifest[/b:dce6faa762] direto no form principal e num [b:dce6faa762]dataModule[/b:dce6faa762] como você disse.

Tentei utilizar o arquivo .manifest como no link que você postou. Também não deu certo.

Estou usando o D2009.
Att,
.lg.


Responder

Gostei + 0

06/05/2009

Woinch

Eu utilizo no form principal.
Fiz minha pergunta porque estou tendo um problema com DBNavigator que os botões ficam se ´sobreescrevendo´ ai fica tipo um botão por cima do outro. Achei que pudesse ser algum bug do XPManifest.

Tens algum conhecimento em relação a isso?


Responder

Gostei + 0

06/05/2009

Marcosrocha

Estou usando o D2009.
No D2009 o você pode perceber que a aplicação já vem ´estilizada´ a inclusão do XPManifest ou o arquivo .manifest não vai (não deveria) afetar sua aplicação.

Achei que pudesse ser algum bug do XPManifest. Tens algum conhecimento em relação a isso?
Infelizmente desconheço bug do tipo.


Responder

Gostei + 0

06/05/2009

.lg.

No D2009 o você pode perceber que a aplicação já vem ´estilizada´ a inclusão do XPManifest ou o arquivo .manifest não vai (não deveria) afetar sua aplicação.

Realmente. O PageControl ja vem todo quadriculado e esbranquissado.
:lol:

Agora sem zuera...
Deve ser o PageControl que veio com meu delphi, pois quando eu adiciono no form ele n vem ´estilizada´ ele vem ´destilizada´.

:cry:
´i´m sad. I think there will be nothing else to do on this component.´


Responder

Gostei + 0

12/05/2009

.lg.

Ninguem mais?
My last try.


Responder

Gostei + 0

30/06/2009

Fgomes1983

Amigo..
Sei que faz tempo mas eu estava com o mesmo problema que você.
A informação que eu encontrei nessa página resolveu meu problema...
Acho que resolve o seu tbm...

http://www.rau-tu.unicamp.br/linguagens/read.php?tid=10&qid=3341&key=

Abraços e boa sorte...


Responder

Gostei + 0

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

Aceitar