我们知道, 单选框具有互斥性质, 那怎样避免不相关模块间RadioButton的互斥呢?在本文中, 我们来介绍一下TRadioGroup, 界面如下:
我们可以看到, 在RadioGroup1中1, 2, 3互斥, 在RadioGroup2中4, 5, 6互斥, 但是1和5并不互斥, 这正是我们需要的。 那这是怎样做到的呢? TRadioGroup有个Items属性, 你设置成1, 2, 3, 就会自动生成3个RadioButton. 上面的单选框是纵向排列的, 实际上, 通过设置TRadioGroup的Columns属性, 可以使其横向排列。
下面, 我们来看看对应的代码:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// 可以根据ItemIndex来判断用户的选择
ShowMessage(RadioGroup1->ItemIndex);
ShowMessage(RadioGroup2->ItemIndex);
}
//---------------------------------------------------------------------------
另外要注意, TRadioGroup上不太适合放其他的东西, 那就只放默认的RadioButton吧.