代码之家  ›  专栏  ›  技术社区  ›  Nathan Campos

在TradioGroup中选择了哪个单选按钮?

  •  7
  • Nathan Campos  · 技术社区  · 15 年前

    正如你在我的问题历史中看到的,我正在开发一个电子书管理器,它将是开源的,我将在大约10天内发布它,但是我有一个 TRadioGroup ,如您所见:
    TRadioGroup Used On My Form http://img85.imageshack.us/img85/1830/radiogroup.png

    我想在变量中存储一些东西 Integer )这将与此“链接” 传统群体 .

    我需要做一个 if 功能如下:

    TradioButton的标题->需要存储在变量中的数字

    调整2倍宽度-默认值->0
    适合2倍高度->1
    调整宽度->2
    配合高度->3

    但我只是用了 传统群体 和A TRadioButton 有一次,不同于C我用了20多次。然后我想知道我需要在if函数上设置什么,因为它将做什么,我已经知道如何做了:

    var
      num: Integer;
    
    begin
      if(TRadioButton1 checked?)
      begin
        num := 0;
      end;
    end.
    

    我需要把什么放在 如果 功能?

    附言:我将把学分放在这个小项目帮助我的人的项目上。

    2 回复  |  直到 12 年前
        1
  •  10
  •   Toon Krijthe    15 年前

    TradioButton具有选中的属性。但TradioGroup具有itemIndex属性。

    TradioGroup中的项目使用tstring存储。因此,您可以将一个对象与每个选项相关联,并且可以将一个整数转换为要存储的Tobject。

    例子:

    // fill the radiogroup
    radiogroup.Items.AddObject('Fit 2xWidth', TObject(0));
    radiogroup.Items.AddObject('Fit 2xHeight', TObject(1));
    radiogroup.Items.AddObject('Fit Width', TObject(2));
    radiogroup.Items.AddObject('Fit Height', TObject(3));
    radiogroup.ItemIndex := 0;
    

    要读取当前设置:

    value := radiogroup.ItemIndex;
    

    或获取关联的整数:

    index := radiogroup.ItemIndex;
    Assert(index>=0); // Sanity check
    value := Integer(radiogroup.Items.Objects[index]);
    

    在您的情况下,值为0到3,因此您可以使用项索引。

    请注意,if不是函数。函数是一段基于输入参数返回值的代码。if是一个语句,它是一个可以执行的命令。if语句是特殊的,因为它使您能够基于if条件执行不同的语句。

        2
  •  5
  •   z666zz666z    12 年前

    小贴士:设置 .ItemIndex 不发送键盘焦点到收音机项目,我知道如何修复它,预读。

    而不是通过设置来对收音机组中的收音机进行编码选择 项目索引 最好是把焦点发送到无线电项目;只是要非常清楚:我的意思是只将焦点发送到无线电项目,而不是整个无线电组。

    而不是: radiogroup.itemindex:=TheIndex;

    这样做: TRadioButton(radiogroup.Controls[TheIndex]).SetFocus;

    它将使无线电项目被选中,并且 将键盘焦点发送给它 ,所以它将在它周围显示虚线矩形,就像用户单击它一样。

    注1:使用键盘光标键,比较刚刚设定的行为,即可看到它的动作。 项目索引 并将焦点发送到无线电项目。

    注2:如果使用 tradiobutton(radiogroup.controls[index]).setfocus; 那就不需要设置了 项目索引 无论如何,这也会完成。

    希望这能帮助和我有相同问题的人,当需要用代码设置时,例如避免循环键盘行为,例如当选择最后一个单选项并按下键盘右光标时,使其停留在最后一个单选项上,第一个相同。

    推荐文章