Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
Adding and Deleting Controls (at run time) Example
◄Contents► ◄Index► ◄Back►
──────────────────────────────────────────────────────────────────────────────
' This example illustrates use of the Index property and how controls can be
' added or deleted at run time. This example starts with two option buttons
' and adds new option buttons to the form each time the "Add" command button
' is clicked. Clicking the "Delete" command button deletes the last added
' control from the array. You can also click an option button to display the
' index value of the selected option button and change the background color
' in the picture box.
' To try this example:
' 1. Choose New Project from the File menu
' 2. Choose New Form from the File menu to create a form with:
' • Two option buttons
' • Two command button
' • Large picture box
' 3. Set object properties:
' • For Command1, Caption = "Add"
' • For Command2, Caption = "Delete"
' • For Option1, CtlName = "OptGroup"
' • For Option2, CtlName = "OptGroup" (this will create a control array)
' 4. Press Alt+F4 to return to the programming environment
' 5. Copy the code example below to the form module
' 6. Press F5 to run the example
DIM Shared MaxIdx%
SUB Command1_Click ()
IF MaxIdx% > 4 THEN EXIT SUB ' Put only 5 buttons on form
IF MaxIdx% = 0 THEN MaxIdx% = 1 ' Preset MaxIdx%
MaxIdx% = MaxIdx% + 1 ' Increment index
LOAD OptGroup(MaxIdx%) ' Create new item in array
' Set location of new option button under previous button.
OptGroup(MaxIdx%).Top = OptGroup(MaxIdx% - 1).Top + 1
OptGroup(MaxIdx%).Visible = -1 ' Make new button visible
END SUB
SUB Command2_Click ()
IF MaxIdx% = 1 THEN EXIT SUB
UNLOAD OptGroup(MaxIdx%)
MaxIdx% = (MaxIdx% - 1)
END SUB
SUB OptGroup_Click (Index AS INTEGER)
Picture1.CLS ' Clear picture
Picture1.BackColor = OptGroup(Index).Index + 1
Picture1.PRINT ("Button Index is #:" + STR$(OptGroup(Index).Index))
END SUB