解决方案 »

  1.   

    是点击radiogroup本身,还是要radiogroup容器里面的radio?
      

  2.   

    TRadiogroup(Sender).XXX就可以了,然后多个radiogroup关联到同一个事件上。
      

  3.   

    mathsfan 能说的详细些吗?这个是做一个过程吗?然后在每个radiogroup的click中调用这个过程?
      

  4.   

    回复sololie ,我没说明白,其实就是点击radiogroup里面的radio
      

  5.   

    如果是点击radiogroup本身,可以这样
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls, AppEvnts;type
      TForm1 = class(TForm)
        rg1: TRadioGroup;
        rg2: TRadioGroup;
        // 放个TApplicationEvents 控件
        aplctnvnts1: TApplicationEvents;
        procedure aplctnvnts1Message(var Msg: tagMSG; var Handled: Boolean);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}// 处理TApplicationEvents 的OnMessage事件
    procedure TForm1.aplctnvnts1Message(var Msg: tagMSG; var Handled: Boolean);
    var
      i: Integer;
      ctr: TWinControl;
    begin
      if Msg.message = WM_LBUTTONDOWN then
      begin
        for i := 0 to ControlCount - 1 do
        begin
          if ctr is TWinControl then ctr := Controls[i] as TWinControl;
          if (ctr.ClassNameIs('TRadioGroup')) and (ctr.Handle = Msg.hwnd) then
            ShowMessage(‘点击了’ + ctr.Name);
        end;
      end;
    end;end.
      

  6.   


    如果是这样,处理radiogroup的OnClick事件,2楼说完了
      

  7.   

    谢谢sololie ,我要实现单击某个radiogroup的radio时,提取这个radiogroup的名称,并同时提取该radiogroup的itemsindex这2个参数,也就是说,为上述的事件写一个通用的代码,因为我有好几十个radiogroup要做同样的工作。我总不能为每个radiogroup的click里面写一段代码啊?
      

  8.   

    谢谢sololie ,我没看明白2楼的意思,是要写一个过程吗?然后每个radiogroup调用这个过程?