Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-12-2017
juniorSoft juniorSoft is offline
Miembro
 
Registrado: abr 2005
Posts: 178
Poder: 19
juniorSoft Va por buen camino
Unhappy Cambiar color de los controles de edicion al entrar en ellos utilizando VCL Styles

Hola amigos,

Buscando en nuestro ClubDelphi encontre este link http://clubdelphi.com/foros/showthread.php?t=87442 el cual muestra una forma genérica de cambiar el color al edit que tiene el foco, pero cuando Utilizo los VCL Styles no funciona el código ofrecido por nuestro amigo ecfisa; buscando encontre este link que se utiliza para cambiar el color de los controles cuando se utilizan los VCL Styles https://theroadtodelphi.com/2012/02/06/changing-the-color-of-edit-controls-with-vcl-styles-enabled/
. Con el código se puede cambiar el color de los edits entre otros utilizando los VCL Styles pero trate de hacer una combinación de ambos para hacer que cuando un edit coja el foco cambie de color y al perder el foco vuelva a su color original con los VCL Styles pero no funciona.

Agradecido como siempre de su bondad y deseo de ayudar a los demás.
Responder Con Cita
  #2  
Antiguo 08-12-2017
juniorSoft juniorSoft is offline
Miembro
 
Registrado: abr 2005
Posts: 178
Poder: 19
juniorSoft Va por buen camino
Me respondo

Código:
...
type
  TForm1 = class(TForm)
    ...
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    procedure ActiveCtrlChange(Sender: TObject);
  ...
  end;

...
implementation

uses TypInfo;

const
  FOCUSEDCOLOR   = clMoneyGreen;
  UNFOCUSEDCOLOR = clWindow;

var
  PrevFocusedCtrl: TWinControl = nil;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Screen.OnActiveControlChange:= ActiveCtrlChange;
end;

procedure TForm1.ActiveCtrlChange(Sender: TObject);
begin
  if not Assigned(PrevFocusedCtrl) then
    PrevFocusedCtrl:= ActiveControl;

  if Assigned(GetPropInfo(PrevFocusedCtrl.ClassInfo, 'Color')) then
  begin
    // SetOrdProp(PrevFocusedCtrl, 'Color', UNFOCUSEDCOLOR);
    if PrevFocusedCtrl.StyleElements = [seBorder] then
           PrevFocusedCtrl.StyleElements:=[seFont, seClient, seBorder];
 end;
  if Assigned(GetPropInfo(ActiveControl.ClassInfo, 'Color')) then
  begin
    SetOrdProp(ActiveControl,'Color', FOCUSEDCOLOR);
    Activecontrol.StyleElements:=[seBorder];
    PrevFocusedCtrl:= ActiveControl;
     
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Screen.OnActiveControlChange:= nil;
end;
...
Responder Con Cita
  #3  
Antiguo 11-12-2017
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.232
Poder: 20
ElKurgan Va camino a la fama
Thumbs up

Gracias por compartir la solución

Saludos
Responder Con Cita
  #4  
Antiguo 11-12-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola

Lo mismo digo, muy agradecido de que hayas publicado la respuesta.


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Cambiar color de los DBEdit al entrar en ellos Delphitest Varios 7 07-02-2015 09:29:33
Cambiar color de letras de acuerdo al color de fondo Adrian Murua OOP 2 15-11-2008 19:36:21
Mantener color verde olivo de las ventanas, al cambiar el color en windows mancurnino Varios 6 11-03-2008 16:39:47
Como puedo cambiar la propiedad de edicion y no edicion a un StringGrid1 ctronx Varios 2 26-06-2004 00:10:19
ayuda con color en controles activos squenda OOP 6 11-05-2004 11:33:23


La franja horaria es GMT +2. Ahora son las 17:31:21.


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