[Lazarus-es] cambiar color de un edit
hfiandor
hfiandor en ceniai.inf.cu
Mar Ene 17 11:34:37 CET 2017
Amigos listeros:
Ante todo, mil gracias por todo lo que me han sugerido, que he guardado para estudiarlo con más detalle después.
Finalmente probé con esta solución, que parece que funciona:
Hice un procedure que declaro como { private declarations } así:
procedure TfNotasAux.quitarcolor;
begin
for i := 0 to self.ComponentCount-1 do
begin
if self.Components[i] is TEdit then
begin
if TEdit(Components[i]).Focused then
TEdit(Components[i]).Color:= clYellow
else
TEdit(Components[i]).Color:= clWindow ;
end;
end;
end;
En el cuerpo del programa para cada edit que tengo disponible para activar le hago un evento OnClick así:
procedure TfNotasAux.eGrupoDesdeClick(Sender: TObject);
begin
quitarcolor;
end;
y parece que esto funciona.
Cada día que aprendo algo nuevo me doy cuenta de que no sé nada.
Saludos
Ing. Héctor F. Fiandor Rosario
De: Lazarus-es [mailto:lazarus-es-bounces en lists.lazarus-ide.org] En nombre de Ismael L. Donis Garcia via Lazarus-es
Enviado el: lunes, 16 de enero de 2017 12:22 p. m.
Para: Spanish version of Lazarus List
CC: Ismael L. Donis Garcia
Asunto: Re: [Lazarus-es] cambiar color de un edit
Como te dije antes a cada componente le programas los 2 eventos.
Cuando coge el foco:
procedure TForm1.Edit1Enter(Sender: TObject);
begin
Edit1.Color:= clYellow
end;
Y cuando pierde el foco:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
Edit1.Color:= clWindow
end;
Esto lo tienes que hacer para todos los componentes que quieres ponerle el color personalizado.
En el ejemplo que te puse Edit1 es el nombre de la caja de texto.
Saludos Reiterados
========
| ISMAEL |
========
----- Original Message -----
From: hfiandor via Lazarus-es <mailto:lazarus-es en lists.lazarus-ide.org>
To: 'Spanish version of Lazarus List' <mailto:lazarus-es en lists.lazarus-ide.org>
Cc: hfiandor <mailto:hfiandor en ceniai.inf.cu>
Sent: Monday, January 16, 2017 11:38 AM
Subject: Re: [Lazarus-es] cambiar color de un edit
Estimado Ismael:
Mi problema es que tengo un form con varios edit para indicar rangos DESDE y HASTA.
Cuando el form hace Show yo selecciono la primera casilla y mi lío está cuando quiero activar otra casilla. Lo puedo hacer con el ratón pinchando la casilla y le doy color Yellow para indicar que está activa,
Pero no sé cómo quitar el color Yellow de la primera que se pintó cuando hizo Show.
Tuve la rutina para quitar el foco a todos los componentes del form, pero la he perdido y quisiera probar con ella.
Saludos
Ing. Héctor F. Fiandor Rosario
_____
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus-ide.org
http://lists.lazarus-ide.org/listinfo/lazarus-es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170117/8125df61/attachment-0001.html>
Más información sobre la lista de distribución Lazarus-es