Notifications
Clear all

CRIAR CONTROLE VIA CODIGO

5 Posts
3 Usuários
0 Reactions
948 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ola Pessoal,

Utilizei um tópico do BLOG do Tomás Vasquez que muito me ajudou, para criação via código de controles. ( http://www.tomasvasquez.com.br/blog/mic ... nte-no-vba)

Private Sub Adiciona_TextBox()    
    'declara no novo controle
    Dim novoTextBox As Control
    'instancia o novo controle do tipo textbox e o adiciona ao UserForm
    Set novoTextBox = Me.Controls.Add("Forms.TextBox.1", "NovoTextBox", True)
    'seta algumas propriedades
    With novoTextBox
        .Width = 72
        .Height = 18
        .Top = 20
        .Left = 20
        .ZOrder (0)
    End With
End Sub

Estou criando o objeto IMAGE ao clicar em um botão, porém eu gostaria que ele fosse criado dentro de um FRAME, e não estou conseguindo realizar isso mesmo alterando as propriedades TOP, LEFT, WIDTH, etc. O controle Image é criado sempre POR TRÁS do FRAME, alguém saberia me dizer como devo proceder para que ele seja criada DENTRO DO FRAME?

Agradeço desde já

Abraço

 
Postado : 01/12/2016 7:21 pm
(@basole)
Posts: 487
Reputable Member
 

Com Me. esta inserindo dentro do userform
Substitua por Frame1, por exemplo:

 Set novoTextBox = Frame1.Controls.Add("Forms.TextBox.1", "NovoTextBox", True)
 
Postado : 01/12/2016 8:37 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Isso mesmo Basole ! :idea: :D

Passei o dia quebrando a cuca nisso. Valeu demais camarada!

 
Postado : 01/12/2016 8:51 pm
(@edsonbr)
Posts: 0
New Member
 

Enquanto estava preparando a resposta, o colega Basole foi mais rápido e matou a charada do problema :) .

Entretanto, prá não perder a viajem e considerando que, embora seu código mostre que vc está criando uma nova TextBox mas que no final vc especifica que deseja na verdade criar um controle tipo Image

...Estou criando o objeto IMAGE ao clicar em um botão...

Então poderia ser:

Private Sub CommandButton1_Click()
  Dim img As MSForms.Image
  Set img = Me.Frame1.Controls.Add("Forms.Image.1")
  img.Picture = LoadPicture("C:UsersGuimaMinhaImagem.jpg")
  'etc...
  'etc...
  Set img = Nothing
End Sub
 
Postado : 01/12/2016 9:03 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Excelente contribuição Edson. Eu estava parado o dia todo nesta parte...rs.

Graças a vocês consegui sair, mas já tô vendo que vou me descabelar em outras parte....rs. Espero que consiga resolver, senão volto a abusar da boa vontade de vocês.

Valeu

 
Postado : 01/12/2016 9:17 pm