Notifications
Clear all

CRIAR CONTROLE VIA CODIGO

5 Posts
3 Usuários
0 Reactions
958 Visualizações
Fernando Fernandes
(@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

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 01/12/2016 7:21 pm
Basole
(@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)

Click em se a resposta foi util!

 
Postado : 01/12/2016 8:37 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Isso mesmo Basole ! :idea: :D

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

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 01/12/2016 8:51 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble 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
Fernando Fernandes
(@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

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 01/12/2016 9:17 pm