CRIANDO OBJETOS EM TEMPO DE EXECUCAO
Caros Colegas,
Preciso criar vários objetos em tempo de execução, porém preciso que fiquem com nomes
diferentes, no caso abaixo ( que encontrei aqui ) ele cria com o mesmo nome (Btn) gostaria de uma rotina que criasse por exemplo, Btn1, Btn2, Btn3......
Alguem tem alguma sugestão??
Obrigado.
Option Explicit
Dim WithEvents Btn As WebBrowser
Private Sub Command1_Click()
Set Btn = Me.Controls.Add("VB.CommandButton", "Teste")
Btn.Visible = True
Btn.Caption = "Me pressione"
End Sub
Preciso criar vários objetos em tempo de execução, porém preciso que fiquem com nomes
diferentes, no caso abaixo ( que encontrei aqui ) ele cria com o mesmo nome (Btn) gostaria de uma rotina que criasse por exemplo, Btn1, Btn2, Btn3......
Alguem tem alguma sugestão??
Obrigado.
Option Explicit
Dim WithEvents Btn As WebBrowser
Private Sub Command1_Click()
Set Btn = Me.Controls.Add("VB.CommandButton", "Teste")
Btn.Visible = True
Btn.Caption = "Me pressione"
End Sub
Faça assim
Set Btn1 = Me.Controls.Add("VB.CommandButton", "Teste")
Btn1.Visible = True
Btn1.Caption = "Me pressione"
Set Btn2 = Me.Controls.Add("VB.CommandButton", "Teste")
Btn2.Visible = True
Btn2.Caption = "Me pressione"
Set Btn3 = Me.Controls.Add("VB.CommandButton", "Teste")
Btn3.Visible = True
Btn3.Caption = "Me pressione"
Set Btn1 = Me.Controls.Add("VB.CommandButton", "Teste")
Btn1.Visible = True
Btn1.Caption = "Me pressione"
Set Btn2 = Me.Controls.Add("VB.CommandButton", "Teste")
Btn2.Visible = True
Btn2.Caption = "Me pressione"
Set Btn3 = Me.Controls.Add("VB.CommandButton", "Teste")
Btn3.Visible = True
Btn3.Caption = "Me pressione"
Sim, mas isto criaria somente três controles, a idéia é que cada vez que Command1_Click() um novo controle seja criado com nome diferente. Tipo assim: Cada vez que o usuario clica nesse botao cria um Btn + 1. tipo Btn1, Btn2, Btn3 .... até 30 se for o caso.
Alguma outra sugestão é bem vinda.
Alguma outra sugestão é bem vinda.
Bom , c pode fazer como o Paganini postou e acrescentar uma variavel q aramazene o numero de objeto criados ou vc pode usar isso na tag do command
Dim var_objButom As Object
Private Sub Command1_Click()
Dim var_buttom As CommandButton
Set var_buttom = Me.Controls.Add("VB.CommandButton", "ButtomTeste" & Command1.Tag)
var_buttom.Visible = True
var_buttom.Caption = "Me pressione"
If Val(Command1.Tag) > 0 Then var_buttom.Left = var_objButom.Left + var_objButom.Width + 50
Set var_objButom = var_buttom
'MsgBox var_buttom.Name
Command1.Tag = Val(Command1.Tag) + 1
End Sub
ESPERO TER AJUDADO
Dim var_objButom As Object
Private Sub Command1_Click()
Dim var_buttom As CommandButton
Set var_buttom = Me.Controls.Add("VB.CommandButton", "ButtomTeste" & Command1.Tag)
var_buttom.Visible = True
var_buttom.Caption = "Me pressione"
If Val(Command1.Tag) > 0 Then var_buttom.Left = var_objButom.Left + var_objButom.Width + 50
Set var_objButom = var_buttom
'MsgBox var_buttom.Name
Command1.Tag = Val(Command1.Tag) + 1
End Sub
ESPERO TER AJUDADO
Option Explicit
Dim Btn As New Collection
Private Sub Form_Load()
Randomize Timer
End Sub
Private Sub Command1_Click()
Static I As Long
I = I + 1
CriarBotao "Botao" & I, Time, Me.ScaleHeight * Rnd, Me.ScaleWidth * Rnd
End Sub
Sub CriarBotao(Nome As String, Texto As String, PosY As Single, PosX As Single)
Dim Botao As CommandButton
Set Botao = Me.Controls.Add("VB.CommandButton", Nome)
Botao.Caption = Texto
Botao.Top = PosY
Botao.Left = PosX
Botao.Visible = True
Btn.Add Botao, Nome
End Sub
Qualquer dúvida diferente é só postar
PAGANINI, obrigado
fiquei com a sua opção, porém preciso saber agora, como posso atribuir função aos botoes criados, como Click(). Tentei colocar no codigo o seguinte:
Private Sub Botao1_Click()
Msgbox "TESTE"
End Sub
não funcionou...
fiquei com a sua opção, porém preciso saber agora, como posso atribuir função aos botoes criados, como Click(). Tentei colocar no codigo o seguinte:
Private Sub Botao1_Click()
Msgbox "TESTE"
End Sub
não funcionou...
Tópico encerrado , respostas não são mais permitidas