Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Radiogroup (https://www.clubdelphi.com/foros/showthread.php?t=29099)

jmlifi 12-01-2006 16:16:13

Radiogroup
 
Utilizo delphi 7 . Tengo dentro de un RadioGroup varios items creado.
¿Como puedo crear el evento Onclick a cada item? ¿Qué propiedad debo de tocar?

delphi.com.ar 12-01-2006 16:21:42

La gracia del TRadioGroup es que te olvidas de trabajar individualmente con los TRadioButtons, si quieres trabajar individualmente te sugiero utilizar un TGroupBox con TRadioButtons.
Igualmente como internamente el TRadioGroup esta formado por estas clases que te comento, puedes recorrer el contenedor y jugar con las propiedades de cada control, en tu caso apuntarías el onclick de cada componente donde te plazca:
Código Delphi [-]
var
  i: Integer;
begin
  with RadioGroup1 do
    for i := 0 to ComponentCount -1 do
      if Components[i] is TRadioButton then
        ShowMessage(TRadioButton(Components[i]).Caption);

Saludos!

maeyanes 12-01-2006 16:23:23

Parece ser que no hay forma de asignar un evento OnClick a cada RadioButton de un TRadioGroup, ya que el component trata a los Items como un TStringList.

Lo que puedes hacer es en el evento OnClick del TRadioButton verificar la propiedad ItemIndex para saber que RadioButton fue seleccionado y actuar al respecto:

Código Delphi [-]
procedure Form1.RadioGroup1Click(Sender: TObject);
begin
  case RadioGroup1.ItemIndex of
    0:
      ; // Haces algo si es el primer RadioButton
    1:
      ; // Haces algo si es el segundo RadioButton
    n:
      // Haces algo si es el n RadioButton
  end
end;


Saludos...


Update: Viendo la respuesta de Federico, veo que si es posible acceder a los RadioButton de un TRadioGroup. Y es que se me había olvidado la propiedad Components que tienen todas las clases descendientes de TComponent. Ahora ya tienes dos posibles soluciones a tu problema.


La franja horaria es GMT +2. Ahora son las 00:10:42.

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