Creates a Shape control that displays a box, circle, or ellipse.
Shape |
Remarks
A Shape control is a graphical control that displays a box, circle, or ellipse that cannot be changed directly. However, because a Shape control has a full set of properties, events, and methods that other controls have, the Shape control can respond to events and can be changed dynamically at run time.
The Curvature property determines what shape is displayed and can vary from 0 to 99. 0 specifies no curvature and creates square corners; 99 specifies maximum curvature and creates circles and ellipses.
For additional information about creating shapes, see the Form Designer topic and Using Controls.
Example
The following example demonstrates how the Shape control can be used to display a circle, ellipse, or square on a form.
A form is created, and a set of option buttons and a command button are placed on the form. When you click one of the option buttons, the corresponding shape is displayed on the form. The Visible property is set to true (.T.) to display a shape; it is set to false (.F.) to hide the shape before another shape is displayed. The Height, Width, and Curvature properties of each shape determine the type of shape (circle, ellipse, or square) created.
В | Copy Code |
---|---|
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 |