publi oform oform=newObject("asup") oform.show read events retu * DEFINE CLASS asup AS form BorderStyle = 0 Top = 0 Left = 45 Height = 312 Width = 276 ShowWindow = 2 Caption = "Form1" MaxButton = .F. BackColor = RGB(212,210,208) Name = "Form1" ADD OBJECT optiongroup1 AS optiongroup WITH ; AutoSize = .T., ; ButtonCount = 15, ; BackStyle = 0, ; BorderStyle = 0, ; Value = 1, ; Height = 293, ; Left = 28, ; Top = 11, ; Width = 78, ; Name = "Optiongroup1", ; Option1.Caption = "Option1", ; Option1.Value = 1, ; Option1.Height = 17, ; Option1.Left = 5, ; Option1.Top = 5, ; Option1.Width = 61, ; Option1.Name = "Option1", ; Option2.Caption = "Option2", ; Option2.Enabled = .F., ; Option2.Height = 17, ; Option2.Left = 5, ; Option2.Top = 24, ; Option2.Width = 61, ; Option2.Name = "Option2", ; Option3.Caption = "Option3", ; Option3.Height = 17, ; Option3.Left = 5, ; Option3.Top = 43, ; Option3.Width = 61, ; Option3.Name = "Option3", ; Option4.Caption = "Option4", ; Option4.Height = 17, ; Option4.Left = 5, ; Option4.Top = 62, ; Option4.Width = 61, ; Option4.Name = "Option4", ; Option5.Caption = "Option5", ; Option5.Height = 17, ; Option5.Left = 5, ; Option5.Top = 81, ; Option5.Visible = .F., ; Option5.Width = 61, ; Option5.Name = "Option5", ; Option6.Caption = "Option6", ; Option6.Height = 17, ; Option6.Left = 5, ; Option6.Top = 100, ; Option6.Visible = .F., ; Option6.Width = 61, ; Option6.Name = "Option6", ; Option7.Caption = "Option7", ; Option7.Height = 17, ; Option7.Left = 5, ; Option7.Top = 119, ; Option7.Width = 61, ; Option7.Name = "Option7", ; Option8.Caption = "Option8", ; Option8.Height = 17, ; Option8.Left = 5, ; Option8.Top = 138, ; Option8.Visible = .F., ; Option8.Width = 61, ; Option8.Name = "Option8", ; Option9.Caption = "Option9", ; Option9.Height = 17, ; Option9.Left = 5, ; Option9.Top = 157, ; Option9.Width = 61, ; Option9.Name = "Option9", ; Option10.Caption = "Option10", ; Option10.Height = 17, ; Option10.Left = 5, ; Option10.Top = 176, ; Option10.Width = 68, ; Option10.Name = "Option10", ; Option11.Caption = "Option11", ; Option11.Height = 17, ; Option11.Left = 5, ; Option11.Top = 195, ; Option11.Width = 68, ; Option11.Name = "Option11", ; Option12.Caption = "Option12", ; Option12.Height = 17, ; Option12.Left = 5, ; Option12.Top = 214, ; Option12.Width = 68, ; Option12.Name = "Option12", ; Option13.Caption = "Option13", ; Option13.Enabled = .F., ; Option13.Height = 17, ; Option13.Left = 5, ; Option13.Top = 233, ; Option13.Width = 68, ; Option13.Name = "Option13", ; Option14.Caption = "Option14", ; Option14.Height = 17, ; Option14.Left = 5, ; Option14.Top = 252, ; Option14.Width = 68, ; Option14.Name = "Option14", ; Option15.Caption = "Option15", ; Option15.Enabled = .F., ; Option15.Height = 17, ; Option15.Left = 5, ; Option15.Top = 271, ; Option15.Width = 68, ; Option15.Name = "Option15" ADD OBJECT command4 AS commandbutton WITH ; Top = 12, ; Left = 120, ; Height = 27, ; Width = 84, ; Caption = "Arrange", ; Name = "Command4" PROCEDURE Destroy clea events ENDPROC PROCEDURE command4.Click create cursor ycurs (num i) with thisform.optionGroup1 for i=1 to .buttonCount if .buttons(i).enabled=.f. .buttons(i).visible=.f. endi if .buttons(i).visible=.t. insert into ycurs values (i) endi endfor *brow local m.xtop,m.rec,m.num0 m.xtop=10 local m.xspace m.xspace=2 &&spacing between 2 options sele ycurs scan rec=recno() if m.rec=1 .buttons(num).top=xtop else go m.rec-1 m.num0=num go rec .buttons(num).top=.buttons(m.num0).top+.buttons(m.num0).height+m.xspace endi endscan endwith ENDPROC ENDDEFINE * *-- EndDefine: asup