CRIAR CONTROLES DINAMICAMENTE

USUARIO.EXCLUIDOS 14/07/2005 19:09:14
#94198
Pessoal,

Estou fazendo um relatório e preciso criar vários picturebox em tempo de execução, até ai tudo bem, o problema e que preciso que estes novos controles sejam indexados com o pictureBox q está criado. Já tentei de tudo mas ele diz q já existe um controle com este nome.
Se alguem puder me ajudar, agradeço.
Vou botar um pedaço do código:
---------------------------------------------------------------------------------
Option Explicit

Public WithEvents picBox As PictureBox

Public Sub criaPictureBox()
'cria controle dinamico
Set picBox = Controls.Add("VB.PictureBox", "Pbox_Impressao")
With picBox
.Visible = True
.BackColor = &H80000005
.Appearance = 0
.Height = 11505
.Width = 7560
.Top = 300
.Left = 300
End With

End Sub
---------------------------------------------------------------------------------
Muito Obrigado
JEAN.JEDSON 14/07/2005 19:19:05
#94207
o que vc quer dizer com indexados? que sejam criados dentro do primeiro picture box? use o ".container" - ou vc quer criar um array para referenciar por exemplo como Pbox_Impressao(0), Pbox_Impressao(1), Pbox_Impressao(2)
USUARIO.EXCLUIDOS 14/07/2005 21:45:10
#94219
Quero Fazer um array, Pbox_Impressao(0), Pbox_Impressao(1), Pbox_Impressao(2)
porém criado em tempo de execuçao. Antes da execução o form tem apenas Pbox_Impressao(0), conforme o numero de registros no banco tenho que criar mais picturebox.
Muito Obrigado
USUARIO.EXCLUIDOS 15/07/2005 13:57:08
#94344
Resposta escolhida
Defina no seu form:

Sub CreateControl (Top as Integer, Left as Integer)
LastControl = Pbox_Impressao.Count
Load Pbox_Impressao(LastControl)

Pbox_Impressao(LastControl).Top = Top
Pbox_Impressao(LastControl).Left = Left
Pbox_Impressao(LastControl).Visible = True
End Sub

Acho que deve resolver...
USUARIO.EXCLUIDOS 15/07/2005 14:21:44
#94355
Wolf vc salvou meu final de semana, brigadão.
Tópico encerrado , respostas não são mais permitidas