Hola lokoman!
Entonces, si no he entendido mal, esta nueva opción seria crear tantas colecciones como controles quiera duplicar, por ejemplo:
Código vb:
Ver originalDim txt, lbl As Control
Set txt = Controls.Add("VB.TextBox", "Text1")
Set lbl = Controls.Add("VB.Label", "Label1")
¿y para poder controlar e identificar cada control, estos los deberia de tener tambien en otra matriz o como/que deberia hacer para poderles situar e identificar?.
Un saludo
PDTA: Por cierto el otro metodo lo he realizado y para VB6.0 me queda de coña pero no me funciona en VBA CATIA. Por si a alguien le interesa aqui posteo el codigo con TextBox y Label dinamicos y un boton para duplicar y otro para borrar.
Código vb:
Ver originalPrivate Sub Form_Load()
IND = lbl.UBound
If IND = 0 Then cmd_BorrarLinea.Enabled = False
End Sub
Private Sub cmd_BorrarLinea_Click()
'Dim IND As Integer
'PARA EL LABEL
IND = lbl.UBound
Unload lbl(IND)
'PARA EL TEXTBOX
IND = txt.UBound
Unload txt(IND)
'PARA EL COMMAND
cmd_NuevaLinea.Top = txt(IND - 1).Top - 45
cmd_BorrarLinea.Top = txt(IND - 1).Top - 45 'txt(IND).Height - 45
'PARA LA FORMA
Me.Height = Me.Height - cmd_NuevaLinea.Height
If IND = 1 Then cmd_BorrarLinea.Enabled = False
End Sub
Private Sub cmd_NuevaLinea_Click()
'Dim IND As Integer
cmd_BorrarLinea.Enabled = True
'PARA EL LABEL
IND = lbl.UBound + 1
Load lbl(IND)
lbl(IND).Left = 240
lbl(IND).Top = lbl(IND - 1).Top + lbl(IND - 1).Height + 45
lbl(IND).Width = lbl(IND).Width
lbl(IND).Caption = "Indice: " & IND
lbl(IND).Visible = True
'PARA EL TEXTBOX
IND = txt.UBound + 1
Load txt(IND)
txt(IND).Left = 3480
txt(IND).Top = txt(IND - 1).Top + txt(IND - 1).Height + 45
txt(IND).Width = txt(IND).Width
txt(IND).Text = "Indice: " & IND
txt(IND).Visible = True
'PARA EL COMMAND
cmd_NuevaLinea.Top = txt(IND).Top + 45
cmd_BorrarLinea.Top = txt(IND).Top + 45 'txt(IND).Height + 45
'PARA LA FORMA
Me.Height = Me.Height + cmd_NuevaLinea.Height
End Sub