ButtonCount Property
Specifies the number of buttons in a CommandGroup or OptionGroup. Available at design time and run time.
Control.ButtonCount[ = nNumber]
Return Value
- nNumber
Specifies the number of buttons for the control.
Remarks
Applies To: CommandGroup ControlOptionGroup Control
Use the ButtonCount property to dynamically set the number of buttons contained in a CommandGroup or OptionGroup.
If you change the number of buttons at run time, names are automatically assigned to the new buttons. The buttons are assigned the name CommandN for a CommandGroup or OptionN for an OptionGroup where N is the number of the button added. For example, if there are four buttons in the CommandGroup and the Buttons property setting is changed to 5, the new button is named Command5.
Example
The following example creates an OptionGroup control and places the control on a form. The OptionGroup control has three buttons; depending on the option button you click, a circle, ellipse, or square appears. The ButtonCount property is used to specify the number of buttons in the OptionGroup. The Buttons and Caption properties specify the text displayed next to each option button.
The Shape control is used to create the circle, ellipse, and square. The OptionGroup control's Click event uses a DO CASE ... ENDCASE structure and the Value property to display the appropriate shape when you click an option button.
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