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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Criar Dinamicamente
Milhomens
ARAGUAÍNA
TO - BRASIL
ENUNCIADA !
Postada em 21/10/2008 17:39 hs            

Ola pessoal,
Estou precisando de uma ajudinha eu preciso desenvolver um sistema que crie dinâmicamente um numero determinado de botões em tempo de execução.Bom para criar os botões eu utilizei este comando:

For i=0 to 10

"Set btn = Controls.Add("Forms.CommandButton.1", nome_btn & i)"

next
 
O meu problema é depois que eu crio esses 10 botoes não consigo criar os eventos dinamicamente para cada botao criado.

Se alguem puder me ajudar ficarei muito grato.


__________________________________
[ Milhomens ]
   
Natanael
não registrado
ENUNCIADA !
Postada em 21/10/2008 19:14 hs   
Porq não deixa eles com a função Visible = false assim quando quiser mostrar é só fazer Visible = True
 
   
Treze
não registrado
ENUNCIADA !
Postada em 22/10/2008 09:14 hs   
Estes eventos são diferentes em cada botão, se sim faça de forma diferente para para criar estes botões veja:
 
insira em em seu projeto um commandbutton, na propriedade index coloque zero, na propriedade viseble coloque false.
 
e crie seus botões desta forma.
 
For i= 1 to 10
Load CommandButton1(i)
CommandButton1(i).Top = Valor desejado
CommandButton1(i).Left = Valor desejado
CommandButton1(i).Visible = True
Next i
 
bom criado os botões da forma acima basta você fazer o seguinte, de no evento clique do botão que você inseriu no seu projeto cole
 
Select Case Index
Case 1
' função do evento 1
Case 2
' função do evento 2
Case 3
' Função do evento 3
' e assim vai até o 10
 
End Select
 
faz um teste, e veja se funciona da forma esperada
   
Milhomens
ARAGUAÍNA
TO - BRASIL
ENUNCIADA !
Postada em 22/10/2008 19:38 hs            
Galera,
Agradeço a atenção, mas, não é bem isso o q preciso.
Vejam só:
Qnto a adicionar os 'n' botoes, tudo bem, tranquilo, mas, como criar 'n' eventos MouseDown para os 'n' botões gerados dinamicamente?
 
o conteúdo do evento MouseDown segue abaixo:

Private Sub CommandN_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim rec&
If Button And 1 Then
    ReleaseCapture
    rec& = SendMessage(CommandN.hWnd, &HA1, 2, 0&)
End If
End Sub

é aí q a coisa pega!

Emoções

   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 23/10/2008 02:37 hs            
Então colega faça exatamente o que eu disse veja:
 
primeiro insira no projeto um CommandButton e na propriedade index deste coloque 0 (zero) ele irá se tornar uma array ex: Command1(0)
 
agora cole este código
 
Private Declare Function SendMessage Lib _
        "user32" Alias "SendMessageA" (ByVal _
        hWnd As Long, ByVal wMsg As Long, _
        ByVal wParam As Long, lParam As Any) _
        As Long
Private Declare Function ReleaseCapture Lib _
        "user32" () As Long
 
Private Sub Form_Load()
For f = 1 To 3
Load Command1(f)
Command1(f).Top = 100
If f = 1 Then
Command1(f).Left = 100
Else
Command1(f).Left = Command1(f - 1).Left + Command1(f).Width + 100
End If
Command1(f).Visible = True
Next f
End Sub
 
Private Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim rec&
If Button And 1 Then
    ReleaseCapture
    rec& = SendMessage(Command1(Index).hWnd, &HA1, 2, 0&)
End If
End Sub
 
bom agora arraste qualquer um dos botões que vai funcionar
 
 
   
Milhomens
ARAGUAÍNA
TO - BRASIL
ENUNCIADA !
Postada em 27/10/2008 15:16 hs            

Treze,

Vlw, realmente foi suficiente!

Obrigado.

   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



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