Add controls to Frames at Runtime

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi,

I am using the following code to add a frame to a form..
Set AddMyControl = Controls.Add("Forms.Frame.1", "fraFrame1", Visible)
AddMyControl.Left = 50
AddMyControl.Top = 50
AddMyControl.Caption = "New Frame Box"
AddMyControl.Width = 70
AddMyControl.Height = 50

I then want to add, say a checkbox into that frame. Anybody done this
before, got any ideas how it codes?

Thanks.
 
Neily,

Here is some example code

Private Sub CreateControl()
Dim newButton As msforms.Control
Select Case True
Case chkText.Value
Set newButton = Me.Controls.Add("Forms.Textbox.1")
newButton.Name = "New Textbox"
Case chkButton.Value
Set newButton = Me.Controls.Add("Forms.CommandButton.1")
newButton.Caption = "newCmd"
Case chkCheckbox.Value
Set newButton = Me.Controls.Add("Forms.Checkbox.1")
newButton.Caption = "Another Checkbox"
End Select

With newButton
.Left = 100
.Top = 50
.Visible = True
End With

End Sub

--

HTH

RP
(remove nothere from the email address if mailing direct)
 
Hi Bob,

Thanks for the reply. What does this code do? Is that just to add controls
to the form?

What I'm trying to acheive is to create a Frame at runtime (which I have
from the original post) and then, still at run time, add 2 Option Buttons to
that frame so that they are grouped using that frame.

You know how I can do that?

Ta.

Neil
 
try adding the following to your sample code

Dim addFrameCtrl as control
' AddMyControl code

With AddMyControl
Set addFrameCtrl = .Controls.Add("Forms.Textbox.1")
'whatever other properties, eg
addFrameCtrl.Text = "Textbox in frame"
'add more controls to the frame
End With

or similar without an object ref to the frame
With Me.Controls("fraFrame1")

or maybe
Set addFrameCtrl = Me.Controls("fraFrame1").Controls.Add("Forms.Textbox.1")

Regards,
Peter T
 
This was just show you how to add other controls. You will need to add into
your code.

--

HTH

RP
(remove nothere from the email address if mailing direct)
 
Back
Top