USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Erro ao instanciar OptionButton, CheckBox...?
Vilmar Brazão
Pontos: 2843
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 02/02/2007 16:07 hs         
Erro ao instanciar OptionButton, CheckBox...?
Dim y As OptionButton
Set y = New OptionButton
Ou
Dim y As CheckBox
Set y = New CheckBox
Ou
Dim y As TextBox
Set y = New TextBox
 
Enfim, como deve ser feito pra instanciar um controle do VB 6.0 ?

http://www.vilmarbro.com.br
   
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
ENUNCIADA !
Postada em 02/02/2007 17:18 hs            
Desta forma voce usa para acoplamento inicial, se for usar com tardio, teste:
 
Dim oOBJ A s Object
Set oOBJ = CreateObject("Text1.TextBox")
 
Não testei, pesquisei no livro.
 
vlu//
 
 
   
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 02/02/2007 18:58 hs            
Vou traduzir segundo o help:
 
No exemplo q vc citou não dá pois estes objetos não podem ser criados pois são objetos de automação. Objeto de automação é um objeto que é exposto a outros aplicativos ou ferramentas de programação por meio de automação.
 
Em suma: Textbox, listbox, checkbox não podem ser instaciados deste jeito.
 
Podem ser deste:
 
Dim WithEvents cText As VB.TextBox
Set cText = Controls.Add("VB.TextBox", "cText")
 
'cria controle textbox
With cText
   .Visible = True
   .Width = 1000
   .Text = "Texto"
   .Top = 500
   .Left = 600
End With


Minha opinião (com a grande ajuda de alguns colegas do trampo q manjam mais q eu hehehehe):

O provável neste caso, caro amigo, é que o construtor da classe Textbox, Checkbox, etc. não é visível logo não aceita q se crie uma instância dele. Ele não é visível pq muito provavelmente precisa de alguns parâmetros necessários (como no caso de um formulário provavelmente) que vc "não" pode ter acesso.

O construtor é um método que possui o mesmo nome da classe, que não retorna nenhum valor e que é chamado cada vez que um objeto da classe é criado.

Por isso para instanciar um objeto tipo textbox tem q fazer o código acima a muito grosso modo dizendo q o textbox precisa de um form para pode existir. Razão pela qual usa-se o método da classe Controls.Add

Não sei se expliquei ou se o confundi...Emoções

Qq coisa postae

at+

TÓPICO EDITADO
 
Vilmar Brazão
Pontos: 2843
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 02/02/2007 19:29 hs         
Vlw Pessoal!!!!

Bela explicação Ghost!

Eu até montei um exemplo:

Private WithEvents cmdBotao1 As CheckBox  'Declara a cmdBotao1 como um controle CheckBox com suporte a eventos.
Private cmdBotao2 As Control              'Declara a cmdBotao2 como um controle genérico sem suporte a eventos.
Private Sub Form_Load()
    Set cmdBotao1 = Controls.Add("VB.CheckBox", "cmdBotao1")
    cmdBotao1.Visible = True
'    cmdBotao1.Move 0, 0, 300, 500
    cmdBotao1.Left = 650
    cmdBotao1.Top = 500
    cmdBotao1.Caption = "Clique aqui"
   
    'Cria o controle no próprio form (Me), e seta add para adicionar, nome do botão, onde você vai adicioná-lo.
    'Neste caso foi adicionado a um PictureBox.
    Set cmdBotao2 = Me.Controls.Add("VB.CommandButton", "cmdBotao2", picConteiner)
   
    'configurando o botao para ser mostrado
    cmdBotao2.Visible = True
    cmdBotao2.Move 100, 150, 300, 1200
    cmdBotao2.Caption = "OLÁ"
   
    MsgBox cmdBotao2.Name
End Sub
Private Sub cmdBotao1_click()
    MsgBox cmdBotao1.Name
End Sub

http://www.vilmarbro.com.br
   
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página