Свойство ButtonCount

Задает количество кнопок в элементе управления CommandGroup или OptionGroup.

Применение:
CommandGroup, OptionGroup

Синтаксис:

Control.ButtonCount[ = nNumber]

Установки:
nNumber
Задает количество кнопок для элемента управления.

Комментарии:
Доступно на этапе разработки и на этапе выполнения.
Используйте свойство ButtonCount для динамической установки количества кнопок, содержащихся в элементе управления CommandGroup или OptionGroup.
Если изменить число кнопок на этапе выполнения, новым кнопкам автоматически присваиваются имена. Кнопка элемента управления CommandGroup получает имя CommandN, а кнопка группы OptionGroup имя OptionN, где N номер добавляемой кнопки. Например, если в элементе управления CommandGroup четыре кнопки и установка свойства Buttons изменяется на 5, новая кнопка получает имя Command5.

Пример:

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

frmMyForm = CREATEOBJECT('Form')	&& Create a Form
frmMyForm.Closable = .F.	&& Disable the Control menu box

frmMyForm.AddObject('cmdCommand1','cmdMyCmndBtn')	&& Add Command button
frmMyForm.AddObject('opgOptionGroup1','opgMyOptGrp')	&& Add Option Group
frmMyForm.AddObject('shpCircle1','shpMyCircle')	&& Add Circle Shape
frmMyForm.AddObject('shpEllipse1','shpMyEllipse')	&& Add Ellipse Shape
frmMyForm.AddObject('shpSquare','shpMySquare')	&& Add Box Shape

frmMyForm.cmdCommand1.Visible =.T.	&& "Quit" Command button visible

frmMyForm.opgOptionGroup1.Buttons(1).Caption = "\<Circle"
frmMyForm.opgOptionGroup1.Buttons(2).Caption = "\<Ellipse"
frmMyForm.opgOptionGroup1.Buttons(3).Caption = "\<Square"
frmMyForm.opgOptionGroup1.SetAll("Width", 100)	&& Set Option group width
frmMyForm.opgOptionGroup1.Visible = .T.	&& Option Group visible
frmMyForm.opgOptionGroup1.Click	&& Show the circle

frmMyForm.SHOW	&& Display the form
READ EVENTS	&& Start event processing

DEFINE CLASS opgMyOptGrp AS OptionGroup	&& Create an Option Group
	ButtonCount = 3	&& Three Option buttons
	Top = 10
	Left = 10
	Height = 75
	Width = 100

	PROCEDURE Click 
		ThisForm.shpCircle1.Visible = .F.	&& Hide the circle
		ThisForm.shpEllipse1.Visible = .F.	&& Hide the ellipse
		ThisForm.shpSquare.Visible = .F.	&& Hide the square
		
		DO CASE
			CASE ThisForm.opgOptionGroup1.Value = 1
				ThisForm.shpCircle1.Visible = .T. 
				&& Show the circle
			CASE ThisForm.opgOptionGroup1.Value = 2 
				ThisForm.shpEllipse1.Visible = .T. 
				&& Show the ellipse
			CASE ThisForm.opgOptionGroup1.Value = 3 
				ThisForm.shpSquare.Visible = .T. 
				&& Show the square
		ENDCASE
ENDDEFINE

DEFINE CLASS cmdMyCmndBtn AS CommandButton	&& Create Command button
	Caption = '\<Quit'	&& Caption on the Command button
	Cancel = .T.	&& Default Cancel Command button (Esc)
	Left = 125	&& Command button column
	Top = 210	&& Command button row
	Height = 25	&& Command button height

	PROCEDURE Click
		CLEAR EVENTS	&& Stop event processing, close Form
ENDDEFINE

DEFINE CLASS shpMyCircle AS SHAPE	&& Create a circle
	Top = 10
	Left = 200
	Width = 100
	Height = 100
	Curvature = 99
	BackColor = RGB(255,0,0)	&& Red
ENDDEFINE

DEFINE CLASS shpMyEllipse AS SHAPE	&& Create an ellipse
	Top = 35
	Left = 200
	Width = 100
	Height = 50
	Curvature = 99
	BackColor = RGB(0,128,0)	&& Green
ENDDEFINE

DEFINE CLASS shpMySquare AS SHAPE	&& Create a square
	Top = 10
	Left = 200
	Width = 100
	Height = 100
	Curvature = 0
	BackColor = RGB(0,0,255)	&& Blue
ENDDEFINE

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.