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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Montar nome de controles dinamicamente?
vilmarbr
Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 08/12/2005 08:30 hs         
Montar nome de controles dinamicamente?

Eu sei que no JavaScript, JScript e VBScript eu consigo montar o nome de um
controle a partir da função Eval, exemplo:
Dim intI
For intI = 0 To 9
    Eval("lbl" & intI).bgColor = "#00FF0" & intI
Next
 
Mas já no VB, isto não dá certo, conforme eu tentei montar abaixo, dá erro
de invalid qualifier:
Dim intI As Integer
For intI = 0 To 15
    Val("lbl" & intI).BackColor = QBColor(intI)
Next
 
Existem possível solução para isto em VB 6?

http://www.vilmarbro.com.br
     
Marcelo Amaral
SANTO ANDRÉ
SP - BRASIL
Postada em 08/12/2005 09:06 hs            
tenta assim
 
Public Function Back(Formulario As Form) As Integer
    Dim i As Integer, strMenu As String
    For i = 0 To Formulario.Count - 1
        strMenu = Formulario(i).Name
        If Left(strMenu, 3) = "txt" Then
            Formulario(i).BackColor = vbRed  '"#00FF0" & i
        End If
    Next i
End Function
     
vilmarbr
Pontos: 2843
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 08/12/2005 13:23 hs         
Marcelo,
 
Mas eu estou falando de montar o nome dinamicamente concatenando strings, sem usar índice, seria possível?

http://www.vilmarbro.com.br
   
Ama
Pontos: 2843
UBERLÂNDIA
MG - BRASIL
ENUNCIADA !
Postada em 08/12/2005 20:52 hs         
vc tem que criar os controles antes ex:
lbl200;lbl201.....lbl202
 
Dim ctl As Control
Dim l As Label
Dim intI As Integer
intI = 200
    For Each ctl In Me
        If TypeOf ctl Is Label Then
             If ctl.Name = "lbl" & intI Then
            ctl.BackColor = (intI)
             intI = intI + 1
             End If
        End If
    Next
   
caco
Pontos: 2843

SP - BRASIL
Postada em 08/12/2005 22:01 hs            
Olá! Use a coleção Controls do Form.
 
Dim intI As Integer
 
For intI = 0 To 15
    Me.Controls("lbl" & intI).BackColor = QBColor(intI)
Next

Messenger: vbdev@uol.com.br

     
caco
Pontos: 2843

SP - BRASIL
Postada em 08/12/2005 22:12 hs            
Esqueci de dizer. Se for um Array de controles use:

Dim intI As Integer
 
For intI = 0 To 15
    Me.Controls("lbl")(intI).BackColor = QBColor(intI)
Next

Messenger: vbdev@uol.com.br

     
Página(s): 1/2      PRÓXIMA »

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