Delphi - Pregunta sobre tipo de componente

 
Vista:

Pregunta sobre tipo de componente

Publicado por Gisela (31 intervenciones) el 14/03/2007 14:59:54
Hola! Estoy queriendo estandarizar algunas cosas en una aplicación que estoy desarrollando, como por ejemplo que cuanto un componente esté activo, cambiarle el color. Para ello uso un procedimiento que quisiera fuera común a todos los componentes (DBEdit, DBLookupComboBox, etc). El problema es que no se cómo hacerlo sin tener que hacer un procedimiento para cada tipo de componente.

procedure ActivarColorComponente(Sender: TObject);
begin
with Sender as TDBLookupComboBox <-- Acá debería tomar el tipo de componente desde el cual
se invoca al procedimiento
do
Color:=ColorActivo;
end;

Desde ya muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pregunta sobre tipo de componente

Publicado por Dr Juzam (821 intervenciones) el 15/03/2007 00:02:14
En lugar de

with Sender as TDBLookupComboBox

usa un ancestro común de los componentes.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta sobre tipo de componente

Publicado por Gisela (31 intervenciones) el 15/03/2007 12:52:54
Claro, eso es lo que quiero hacer, pero no se cómo... Si podés aclararme un poco más te agradezco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta sobre tipo de componente

Publicado por Dr Juzam (821 intervenciones) el 16/03/2007 23:27:49
He estado mirando y esto vale para los descendientes de TCustom Edit (por ejemplo el TEdit y el TDBEdit), pero no para el TDBLookupComboBox:

procedure TForm1.Procedimiento(Sender: TObject);
begin
TEdit(Sender).Color:=clRed;
end;

La causa es que no poseen un ascendente común que permita acceder al control del color (el TControl, ascendente común, posee esta propiedad, pero protegida). Habría que crear un método aparte para el DBLookUp.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar