20 июня 2010

Компонент RadioButton

Компонент RadioButton расположен на вкладке Standard Палитры компонентов:

Этот компонент предназначен для выбора между несколькими взаимоисключающими вариантами. Давайте для примера создадим форму с двумя группами RadioButton на ней. В первой группе будет две RadioButton.
Эта группа будет отвечать за выбор противника в некотрой воображаемой компьютерной игре (человек или компьютер). Во второй группе будет три RadioButton. Она будет отвечать за уровень сложности игры (легкий, нормальный и сложный).
Сначала расположите на форме 2 RadioButton. Свойство Caption для них установите в "человек" и "компьютер". Для создания второй группы расположите на форме компонет GroupBox с вкладки Standard Палитры компонентов:

Для свойства Caption компонета GroupBox установите значение "Уровень". Внутри этого компонента расположите три RadioButton. Измените их свойство Caption на "легкий", "нормальный" и "сложный" соответственно. Расположите их именно на компоненте GroupBox. То, что вы их расположили правильно, можно заметить по окну Object TreeView:

Если вы их расположили неправильно, то просто перетащите их мышкой в нужное место окна Object TreeView.
Теперь добавим код, который будет менять заголовок окна в зависимости от выбранных RadioButton. Для этого ледаем двойной щелчок на первой RadioButton и в полученной заготовке пишем следующиий код:

TForm1::RadioButton1Click(TObject *Sender)
{
String s1, s2;
  if(RadioButton1->Checked){
    s1="Человек";
  }
  if(RadioButton2->Checked){
    s1="Компьютер";
  }
  if(RadioButton3->Checked){
    s2="легкий";
  }
  if(RadioButton4->Checked){
    s2="нормальный";
  }
  if(RadioButton5->Checked){
    s2="сложный";
  }
  Form1->Caption=s1+" | "+s2;
}
Смысл кода понятен - в две переменные s1 и s2 мы записываем строки в зависимости от того, какая RadioButton выбрана, после чего записываем s1 и s2 в заголовок формы.
Этот код без изменений надо внести в обработчики щелчка каждой RadioButton (вообще говоря правильнее было поступать не так, а сделать отдельную функцию и вызывать ее в обработчике щелчка каждой RadioButton).
Теперь при запуске программы форма будет получать соответствующий заголовок после выбора той или иной RadioButton:

Вот еще несколько свойство компонента RadioButton:
Свойство Checked. Определяет, выбрана ли соответствующая радиокнопка (т. е. есть точка рядом с ней). Это свойство может быть установлено в true только для одной RadioButton в группе.
Свойство Alignment. Определяет, где появляется надпись относительно радиокнопки - слева (taLeftJustify), справа (taRightJustify)

Комментариев нет:

Отправить комментарий

Темы