delphi – 在TRadioGroup中选择了哪个单选按钮?

前端之家收集整理的这篇文章主要介绍了delphi – 在TRadioGroup中选择了哪个单选按钮?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
正如您在我的问题历史中所看到的,我正在开发一个电子书管理器,它将是开源的,我会在大约10天内发布它,但我有一个TRadioGroup,你可以看到:
TRadioGroup Used On My Form http://img85.imageshack.us/img85/1830/radiogroup.png

我想将一些东西存储在一个变量(需要是一个整数)中,该变量将与这个TRadioGroup“链接”.

我需要做一个这样的if函数

Caption Of The TRadioButton -> Number that will need to be stored in the variable

Fit 2xWidth – Default -> 0
Fit 2xHeight -> 1
Fit Width -> 2
Fit Height -> 3

但是我只使用了TRadioGroup和TRadioButton一次,不同于C#,我使用了20多次.然后我想知道我需要把什么放在if函数上,因为它会做什么我已经知道怎么做了:

var
  num: Integer;

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

我需要把它放在if函数的括号内?

PS:我将把这些学分放在帮助我完成这个小项目的人的计划中.

解决方法

TRadioButton具有Checked属性.但是TRadioGroup具有ItemIndex属性.

TRadioGroup中的项目使用TStrings存储.因此,您可以将对象关联到每个选项,并且可以将整数转换为要存储的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,因此您可以使用ItemIndex.

作为一个注释,如果不是一个功能.函数是一段代码,它根据输入参数返回一个值. If是一个语句,这是一个可以执行的命令. if语句是特殊的,因为它使您能够基于if条件执行不同的语句.

猜你在找的Delphi相关文章