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 24-11-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿No se están complicando mucho?

A quien se quiere cambiar de color es a un TWinControl y la propiedad Color aparece desde TControl. Sólo hay que desprotegerla:

Código Delphi [-]
type THackControl = class(TWinControl);

...

procedure TBRGFocusAdmin.AplicarColor(Color :TColor; Componente: TWinControl);
begin
  THackControl(Componente).Color := Color;
  Componente.Repaint;
end;

// Saludos
Responder Con Cita
  #2  
Antiguo 24-11-2006
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Cita:
Empezado por roman
¿No se están complicando mucho?

A quien se quiere cambiar de color es a un TWinControl y la propiedad Color aparece desde TControl. Sólo hay que desprotegerla:

Código Delphi [-]
type THackControl = class(TWinControl);
Se puede, pero no me parece buena practica hacer publica toda la clase por solo necesitar la propiedad Color. Ahora que conoci los métodos RTTI, prefiero hacerlo asi.

Igualmente sigue el problema del TListBox, que el tonto no se sabe repintar
__________________
[Crandel]
Responder Con Cita
  #3  
Antiguo 24-11-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Y quién dice que estás haciendo pública toda la clase?

Fuera del código de AplicarColor, nadie podrá acceder a esas propiedades.

// Saludos
Responder Con Cita
  #4  
Antiguo 25-11-2006
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 23
Crandel Va por buen camino
Obviamente fuera del componente no, pero dentro si, pero .... que buena idea me dio

Código Delphi [-]
THackControl(Sender).RecreateWnd;
__________________
[Crandel]
Responder Con Cita
  #5  
Antiguo 28-04-2010
Hugo Hugo is offline
Miembro
 
Registrado: may 2003
Ubicación: Córdoba (España)
Posts: 38
Poder: 0
Hugo Va por buen camino
Me da error al salir de la aplicación

Al terminar la aplicación me da error "Access Violation, read of address...", me imagino que tendré que destruir algo o intento acceder a algún objeto que ya no existe.

De todas formas, me imagino que habrá algún componente ya existente que haga esto mismo, yo tengo la Jedi VCL pero si lo hay no se localizarlo.
Responder Con Cita
  #6  
Antiguo 28-09-2010
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 18
jafera Va por buen camino
Hola a todos.

Ya se que este hilo es viejo pero es el que creo que va a hacer lo que necesito, cambiar el fondo de los controles a medida que van recibiendo el foco.

He creado la unit y la he puesto en uses del form, pero no se pinta nada.

He usado el código que retocó Crandel.

Tambien probé el tema de las RTTI y funciona bien, cambia de color al recibir foco, pero al salir de un form Child, me deja una sombra negra en el form Padre.

Gracias por adelantado

Josep
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
Detectar cambio de ItemIndex en ComboBox ixMike OOP 5 19-10-2006 20:39:03
F9 - cambio de foco en pestaña roman La Taberna 15 04-10-2006 08:46:03
Cambio al hacer foco con el mouse c748a OOP 14 08-08-2005 17:31:35
Detectar el cambio de un directorio NeWNeO API de Windows 2 03-01-2005 09:36:48
Capturar El Evento Del Cambio De Foco En Un Form murci API de Windows 11 21-01-2004 09:39:13


La franja horaria es GMT +2. Ahora son las 14:24:07.


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