Массив, используемый для обращения к каждой кнопке в группе. Недоступен в design time.

Control.Buttons(nIndex).Property = Value
-Or-
Control.Buttons(nIndex).Method

Expand imageВозвращемое значение

nIndex

Целое число в диапазоне от 1 до число кнопок, определяемого свойством ButtonCount элемента управления (Control).

Property

Свойство элемента управления CommandButton или OptionButton.

Value

Значение свойства.

Method

Метод элемента управления CommandButton или OptionButton.

Expand imageПримечания

Применяется к: CommandGroup Control | OptionGroup Control

Вы можете использовать свойство Buttons для установки свойств и вызова методов для всех кнопок в группе. Свойство Buttons представляет собой массив, который создается одновременно с созданием группы кнопок.

Expand image Пример

Приведенный ниже пример создает элемента управления OptionGroup и помещает его на форму. Элемент управления OptionGroup имеет три кнопки, по щелчкам на которых на рисуются круг, эллипс или квадрат. Свойство ButtonCount определяет конкретное число кнопок в OptionGroup. Свойства Buttons и Caption определяют текст, отображаемый на каждой кнопке группы.

Элемент управлен Shape используется для создания круга, эллипса или квадрата. Событие Click элемента управления OptionGroupиспользует структуру DO CASE ... ENDCASE и свойство Value для отображания соответствующей фигуры, когда вы щелкаете по кнопке.

  CopyCode imageCopy Code
frmMyForm = CREATEOBJECT('Form')  && Создается формы
frmMyForm.Closable = .F.  && Блокируется блок Control menu

frmMyForm.AddObject('cmdCommand1','cmdMyCmndBtn')  && Добавляется командная кнопка
frmMyForm.AddObject('opgOptionGroup1','opgMyOptGrp') && Добавляется радиокнопка
frmMyForm.AddObject('shpCircle1','shpMyCircle')  && Добавляется фигура круга
frmMyForm.AddObject('shpEllipse1','shpMyEllipse')  && Добавляется фигура эллипса
frmMyForm.AddObject('shpSquare','shpMySquare')  && Добавляется фигура квадрата

frmMyForm.cmdCommand1.Visible =.T.  && Делаем командную кнопку "Quit" видимой

frmMyForm.opgOptionGroup1.Buttons(1).Caption = "\<Circle"
frmMyForm.opgOptionGroup1.Buttons(2).Caption = "\<Ellipse"
frmMyForm.opgOptionGroup1.Buttons(3).Caption = "\<Square"
frmMyForm.opgOptionGroup1.SetAll("Width", 100) && Установливаем ширину Option group
frmMyForm.opgOptionGroup1.Visible = .T.  && Делаем их видимыми
frmMyForm.opgOptionGroup1.Click  && Показываем круг

frmMyForm.SHOW  && Отображаем форму
READ EVENTS  && Начинаем обработку событий

DEFINE CLASS opgMyOptGrp AS OptionGroup  && Создание Option Group
   ButtonCount = 3  && Три кнопки опций
   Top = 10
   Left = 10
   Height = 75
   Width = 100

   PROCEDURE Click 
      ThisForm.shpCircle1.Visible = .F.  && Прячем круг
      ThisForm.shpEllipse1.Visible = .F.  && Прячем эллипс
      ThisForm.shpSquare.Visible = .F.  && Прячем квадрат
      
      DO CASE
         CASE ThisForm.opgOptionGroup1.Value = 1
            ThisForm.shpCircle1.Visible = .T. && Показываем круг
         CASE ThisForm.opgOptionGroup1.Value = 2 
            ThisForm.shpEllipse1.Visible = .T.  && Показываем эллипс
         CASE ThisForm.opgOptionGroup1.Value = 3 
            ThisForm.shpSquare.Visible = .T.  && Показываем квадрат
      ENDCASE
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn AS CommandButton  && Создаем командную кнопку
   Caption = '\<Quit' 
   Cancel = .T.
   Left = 125 
   Top = 210
   Height = 25 

   PROCEDURE Click
      CLEAR EVENTS  && Прекращаем орбаботку событий, закрываем форму
ENDDEFINE

DEFINE CLASS shpMyCircle AS SHAPE  && Создаем класс круга
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 99
   BackColor = RGB(255,0,0)  && Красный
ENDDEFINE

DEFINE CLASS shpMyEllipse AS SHAPE  && Создаем класс эллипса
   Top = 35
   Left = 200
   Width = 100
   Height = 50
   Curvature = 99
   BackColor = RGB(0,128,0)  && Зеленый
ENDDEFINE

DEFINE CLASS shpMySquare AS SHAPE  && Создаем класс квадрата
   Top = 10
   Left = 200
   Width = 100
   Height = 100
   Curvature = 0
   BackColor = RGB(0,0,255)  && синий
ENDDEFINE

Expand image Смотрите также