Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cambiar Caption de Cualquier Objeto (https://www.clubdelphi.com/foros/showthread.php?t=60779)

rjtostado 14-10-2008 01:39:36

Cambiar Caption de Cualquier Objeto
 
hola que tal Delphinautas!! Necesito de su ayuda!!
necesito cambiar el caption de cualquier objeto que tenga esa propiedad..
por ejemplo:
tengo una forma con varios objetos, Label, radioButtons, Checkbox, RadioGruop etc.
y necesito cambiar el caption en tiempo de ejecución..
al hacer el evento onclick sobre el objeto.

no me refiero a un valor fijo, sino cambiarlo dinámicamente..
que el usuario realicé onclick sobre el objeto y pueda realizar el cambio del caption por el valor que el prefiera.

alguien me podría ayudar..
en ocasión no soy muy bueno para expresar ideas..
si tienen alguna duda.. por favor hacérmelo saber...
por su atención gracias.

Caro 14-10-2008 02:19:23

Hola rjtostado, puedes utilizar el parametro Sender del evento OnClick.

En el evento OnClick tenemos este codigo, preguntamos si es un Label o un RadioButton....., dependiendo del que sea se le asigna al caption el texto del Edit.

Código Delphi [-]
procedure TForm1.Label1Click(Sender: TObject);
begin
 if (Sender is TLabel) then
  TLabel(Sender).Caption := Edit1.Text;

 if (Sender is TRadioButton) then
  TRadioButton(Sender).Caption := Edit1.Text;

 if (Sender is TCheckBox) then
  TCheckBox(Sender).Caption := Edit1.Text;
end;

Ahora para que te funcione con los demas controles, debes asignarle este mismo evento al OnClick de los demas labels, de los radioButton ...

Saluditos

Neftali [Germán.Estévez] 14-10-2008 08:41:48

Otra opción, si quieres evitarte una larga lista de IF..ELSE IF..ELSE IF.. dependiendo de los tipos diferentes de controles que haya es utilizar RTTI.

En mi página web, está explicado este mismo ejemplo. Busca en la sección de trucos, el que se titula: "Modificar propiedades de controles en ejecución utilizando RTTI"

rjtostado 15-10-2008 18:01:31

excelnete por su apoyo!! mul gracias!!:)


La franja horaria es GMT +2. Ahora son las 05:48:06.

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