Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-11-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Thumbs up Problemas por causa del componente TXPManifest

Hola amigos,tengo una aplicacion con mucho pero muchos formularios donde tengo paneles ,GroupBox,etc , que tienen diferentes colores; el problema es que puse en el Form Principal un componente TXPManifest para ver que efecto tiene en tiempo de ejecusion y es como dice roman en este hilo lo mismo que hace con ese pequeño truquito, mi problema es que cuando corre mi aplicasion y veo mis formularios estos han cambiado de color especial mente los GroupBox,paneles,etc, me sale todo feo,trate de solucionarlo quitando el componente TXPManifest de mi formulario pero igual sigue saliendome asi, recalco esto solo ocurre en tiempo de ejecusion, ya que mirando los formularios en tiempo de diseño me sale todo bien con sus colores respectivos.
Como puedo hacer para quitar ese efecto de mi aplicacion y que quede todo normal, pues son muchos formularios y no quisiera hacer todo de nuevo.
Saludos......
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #2  
Antiguo 28-11-2008
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Es muy probable que tu código está llamando a la unidad XPMan, aún eliminando el componente XPManifest esta unidad agrega el siguiente archivo al proyecto y por eso quedan activados los temas XP.

Código Delphi [-]
  {$R WindowsXP.RES}

Simplemente elimina XPMan de los uses y listo.

Saludos
Responder Con Cita
  #3  
Antiguo 28-11-2008
jorge82 jorge82 is offline
Baneado
 
Registrado: jun 2005
Ubicación: Mérida, Yucatán, México
Posts: 75
Poder: 19
jorge82 Va por buen camino
Elimina de tu clausula uses la unidad XPMan

Edito: Ups!, se me adelanto Héctor Randolph
__________________
Un saludito.
Responder Con Cita
  #4  
Antiguo 28-11-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Thumbs up Efectivamente

Efectivamente amigo Héctor Randolph ....eso era...
Gracias tambien a ti jorge82....por responder.
Pero me queda una dudita..¿Por que ocurre eso? ¿Hay forma de poner este componente pero que no me cambie los colores?¿O no se puede?.
Saluditos....
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #5  
Antiguo 28-11-2008
jorge82 jorge82 is offline
Baneado
 
Registrado: jun 2005
Ubicación: Mérida, Yucatán, México
Posts: 75
Poder: 19
jorge82 Va por buen camino
El comportamiento de algunos componentes cuando esta habilitado el tema de Windows (con un XPManifest), al parecer es debido a que al momento de crearse (en el constructor), se asigna como color de fondo, el color de su Parent, o sea si tenemos un TPanel sobre un formulario y la asignamos un color al Panel, en tiempo de ejecución ese color desaparace y en su lugar cambia el color al color del fondo de su Parent, en este caso el formulario.

Este comportamiento lo he podido evitar agregando lo siguiente en el OnCreate del formulario:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel1.ControlStyle := Panel1.ControlStyle - [csParentBackground];
end;

Y bueno, esto no solo sirve para los paneles, hay mas componentes que se crean de esa manera (desconozco porque) cuando hay un XPManifest.

Espero sea de utilidad.
__________________
Un saludito.
Responder Con Cita
  #6  
Antiguo 28-11-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Si solucionaste de esa manera quiere decir que podriamos hacer un proceso que recorra todos los formularios y haga lo mismo que tu haces con todos los componentes para que no ocurra esto. Lo malo es que no se como hacerlo...Nesesito sugerenciaS.
SALUDOS...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #7  
Antiguo 28-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, yo lo he solucionado desde diseño, poniendo la propiadad ParentBackGround a False, en el caso de los Panels, ya viene con False, pero si lo pones en True y luego en false nuevamente te aceptara el color que le pongas sin tomar en cuenta el color del Parent, esto en Delphi7.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #8  
Antiguo 28-11-2008
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Lightbulb

Gracias Caro muy buen truco......Funcionaaa ...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #9  
Antiguo 29-11-2008
jorge82 jorge82 is offline
Baneado
 
Registrado: jun 2005
Ubicación: Mérida, Yucatán, México
Posts: 75
Poder: 19
jorge82 Va por buen camino
Cita:
Empezado por Caro Ver Mensaje
Hola, yo lo he solucionado desde diseño, poniendo la propiadad ParentBackGround a False, en el caso de los Panels, ya viene con False, pero si lo pones en True y luego en false nuevamente te aceptara el color que le pongas sin tomar en cuenta el color del Parent, esto en Delphi7.

Saluditos
Cierto amiga Caro, no me había dado cuenta de ese comportamiento, de esa manera se 'obliga' a que la propiedad ParentBackground se guarde en el archivo .dfm, lo cual no sucede por default.

Gracias.
__________________
Un saludito.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Edit me causa error al mostrar skinnerpro OOP 7 11-10-2007 06:52:29
Edit me causa error al mostrar skinnerpro OOP 1 11-10-2007 05:01:35
No puedo usar el TXPManifest en Delphi 7 her_127 OOP 6 05-01-2007 19:00:31
Nuevo virus informatico causa caos en los medios informativos Sasuke_Cub Noticias 12 19-08-2005 14:51:54
AV en DSNIDE50.BPL ¿A CAUSA DEL UPDATE? - D5 miqueas Varios 2 20-05-2005 17:33:30


La franja horaria es GMT +2. Ahora son las 18:46:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi