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 26-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Problemas con XPManifest y Colores Panels

Saludos colegas, tengo este extraño problema con el XPManifest y los colores de los panels, si tengo el Panel de color blanco en tiempo de diseño y tengo el XPMani, en tiempo de ejecución el color blanco del panel desaparece y así con cualquier color, ¿A alguien le ha sucedido o es normal? ¿hay alguna solución?.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #2  
Antiguo 26-10-2008
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 17
TOPX Va camino a la fama
Saludos,

A mí me parece que es algo normal, pues, se supone que uno incluye el XPManifest para que el look-and-feel de la aplicación esté de acuerdo con los estilos visuales de los themes de Windows. Siendo así, la solución sería decidirse, o quiere colores personalizados o quiere los de Windows.
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #3  
Antiguo 26-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Pos no me queda más remedio que obviar el XPManifest , Muchas gracias TOPX.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #4  
Antiguo 26-10-2008
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 17
TOPX Va camino a la fama
Un momento, seguí buscando formas de "parchear" el inconveniente y encontré que:

1. Se podría poner un Shape en el Panel, sus propiedades Align = alClient y Brush.Color igual al color deseado.

2. En tiempo de ejecución, para el Panel en cuestión, cambiar el valor de la propiedad ParentBackground = False.

3. Componentes de ExtCtrls ó no herederos de comctl32 versión 6... etc., etc.

Qué cosas
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #5  
Antiguo 26-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Probaré con la segunda opción ya que en la primera tener que poner shapes (no dudes que no lo pensé ) a todos los panels (son muchos) sería demasiado engorroso, luego más tarde te comento.

Saludos
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #6  
Antiguo 26-10-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
Parece ser que la "culpa" la tiene el constructor de TCustomPanel, clase de la cual deriva TPanel.

Código Delphi [-]
{ TCustomPanel }

constructor TCustomPanel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ControlStyle := [csAcceptsControls, csCaptureMouse, csClickEvents,
    csSetCaption, csOpaque, csDoubleClicks, csReplicatable];
  { When themes are on in an application default to making
    TCustomPanel's paint with their ParentBackground }
  if ThemeServices.ThemesEnabled then
    ControlStyle := ControlStyle + [csParentBackground] - [csOpaque];
  Width := 185;
  Height := 41;
  FAlignment := taCenter;
  BevelOuter := bvRaised;
  BevelWidth := 1;
  FBorderStyle := bsNone;
  Color := clBtnFace;
  FFullRepaint := True;
  UseDockManager := True;
end;


como se puede ver en la línea:
Código Delphi [-]
  if ThemeServices.ThemesEnabled then     
    ControlStyle := ControlStyle + [csParentBackground] - [csOpaque];
si los temas de Windows XP estan habilitados en la aplicación, el constructor crea el Panel con el color de su objeto Parent, el cuál casi siempre es un formulario, entonces la solución es "quitarle" esa propiedad al TPanel hmmm digamos al momento de crear el formulario que lo contiene.
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject); 
begin   
  Panel1.ControlStyle := Panel1.ControlStyle - [csParentBackground]; 
end;
__________________
Un saludito.
Responder Con Cita
  #7  
Antiguo 27-10-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Hola
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #8  
Antiguo 27-10-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 Fernando, a mi también me ha dado dolores de cabeza el XpManifest con los panels, yo lo he solucionado con la segunda forma que te menciona en el amigo TopX, pero no en ejecución sino en diseño, la propiedad ParentBackGround ya viene con False, en dideño lo colocas a True y despues nuevamente a False y veras que ya te funciona.

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
  #9  
Antiguo 27-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Cita:
Empezado por Caro Ver Mensaje
Hola Fernando, a mi también me ha dado dolores de cabeza el XpManifest con los panels, yo lo he solucionado con la segunda forma que te menciona en el amigo TopX, pero no en ejecución sino en diseño, la propiedad ParentBackGround ya viene con False, en dideño lo colocas a True y despues nuevamente a False y veras que ya te funciona.

Saluditos
Pues muchas gracias Caro, funciona , gracias por ahorrarme un buen pedazo de código .

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
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
Problemas con XPManifest sagarmar Varios 4 17-11-2008 03:35:55
Panels nunez_mvp Varios 9 06-08-2008 12:44:19
Problemas de colores MAXIUM Gráficos 0 22-02-2007 17:24:08
Panels en lugar de Forms Albano OOP 12 03-10-2006 21:09:06
XPManifest y problemas con colores mast666 Gráficos 0 11-12-2004 20:42:39


La franja horaria es GMT +2. Ahora son las 07:55:48.


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