PDA

Ver la Versión Completa : Cambiar Caption de Cualquier Objeto


rjtostado
14-10-2008, 01:39:36
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.


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 (http://neftali.clubdelphi.com/), 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!!:)