通常用TWinControl.Focused方法就可以判断(比如;Button1.Focused)
但不知道为什么对RadioGroup不好用,该怎么解决

解决方案 »

  1.   

    有用啊?
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      //RadioGroup1.ItemIndex :=1;
      RadioGroup1.SetFocus ;//这一句注释掉,结果不同
      if RadioGroup1.Focused then
        Button1.Caption :='asdasd';
    end;
      

  2.   

    楼主好象是要在EDIT的EXIT事件里面判断
    那就不一样了
      

  3.   

    if ActiveControl=RadioGroup1 then 
       showmessage('dd');
      

  4.   

    谢谢各位关注在EXIT事件里面判断其他空件也没有问题,唯独RadioGroup不成(其实有个笨招:就是设置RadioGroup的MouseMove,不过也太...)TO:  lwk_hlj(阿凯)
    这个方法不成啊,偶也试过
      

  5.   

    procedure TForm1.Edit1Exit(Sender: TObject);
    var
      i : integer;
      k : integer;
    begin
      K:=edit1.TabOrder;
      for i:=0 to Form1.ComponentCount-1 do
      begin
        if (Form1.Components[i] is TRadioGroup)
           and (k=(Form1.Components[i] as TRadioGroup).TabOrder-1) then
               //如果edit1的TabOrder最大而RadioGroup的TabOrder最小分一种情况讨论
           .....
      end;end;
      

  6.   

    To: cdsgajxlp(新手) 你的代码好像是判断Tab键顺序的吧,偶没太看懂偶只是想判断Edit的下一个焦点是否为RadioGroup,并不一定要用Tab键啊,如果用鼠标单击呢。
    各位给出出主意呵
      

  7.   

    RadioGroup本身不接收焦点,
    var
      I: Integer;
      B: Boolean;
    begin
      for I := 0 to RadioGroup1.ComponentCount-1 do
      with RadioGroup1, TRadioButton(Components[I]) do
      begin
        B := Focused;
        if B then Break; 
      end;
    end;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  8.   

    我觉得你利用taborder可以实现的啊 制定了顺序以后 可以保证只有一个edit的下一个是radiogroup啊!还判断什么呢?
      

  9.   

    To: lxpbuaa(桂枝香在故国晚秋) 太谢谢了,就是这个方法To: angle097113(<晨明科技开发>) 如果用鼠标单击,利用taborder就实现不了。而且,如果多个edit都用这个事件判断该怎么办呢