HERDAR PROPRIEDADE ITEMDATA
pessoal...
Não consegui herdar está propriedade nem a paú.
Ela não deixa eu pegar o Retorno.
Quem Consegui isso vai me quebrar um galhozão. no UserControl no Property Let não aceita que a propriedade devolva um retorno. mas o combo e list vem com isso.
No ItemData do Combo se dá entender que a propriedade é feita da seguinte forma:
Public Property Let ItemData(Integer) [txt-color=#ff0000] as Long[/txt-color]
ObjetoList.Itemdata(integer) = ItemData()
End property
mas dá erro onde está em vermelho quando eu coloco o código
o que pode está acontecendo ?
Não consegui herdar está propriedade nem a paú.
Ela não deixa eu pegar o Retorno.
Quem Consegui isso vai me quebrar um galhozão. no UserControl no Property Let não aceita que a propriedade devolva um retorno. mas o combo e list vem com isso.
No ItemData do Combo se dá entender que a propriedade é feita da seguinte forma:
Public Property Let ItemData(Integer) [txt-color=#ff0000] as Long[/txt-color]
ObjetoList.Itemdata(integer) = ItemData()
End property
mas dá erro onde está em vermelho quando eu coloco o código
o que pode está acontecendo ?
Existe Outra forma de herdar a propriedade ItemData para que o uso dela fiquei igualzinho ao do List ou Combo ?
O VB não gera automaticamente um mapeamento lá muito bom quando se trata das coleções / Ãndices de controles internos. Na verdade, ele interpreta certas propriedades na forma literal e não como coleções.
Os ComboBox possuem uma coleção Items, que você pode replicar em seu controle e disponibilizar ao usuário. Dessa forma, o usuário poderá adicional, listar, contar e remover os itens diretamente da coleção.
Seria algo como em:
...
...
Depois, no momento de mostrar o controle, por exemplo, limpar os itens do combo e, varrendo essa coleção, o preencher novamente.
[/c]
Os ComboBox possuem uma coleção Items, que você pode replicar em seu controle e disponibilizar ao usuário. Dessa forma, o usuário poderá adicional, listar, contar e remover os itens diretamente da coleção.
Seria algo como em:
...
Private mItems As VBA.Collection
...
[c]Private Sub UserControl_Inicialize
...
Set mItems = New VBA.Collection
...
End Sub
...
Public Sub Add(Valor as Variant)
mItems.Add Valor
End Property
...
[c]Public Function Count() As Long
Count = mItems.Count
End Function
...
Public Sub Remove(Index As Long)
...
mItems.Remove Index
...
End Property
...
[c]Public Function Item(Index As Long) As Variant
...
Set Item = mItems(Index)
...
End Property
...
Depois, no momento de mostrar o controle, por exemplo, limpar os itens do combo e, varrendo essa coleção, o preencher novamente.
[/c]
é verdade PROFESSOR, realmente a única saÃda seria usar a classe Collection. usa uma Função, que a a única forma de se ter uma resposta de retorno.
Mas eu postei justamente por que fiquei encucado com isto. Porquê o VB mostra o ItemData como uma propriedade que tem um parametros para Gravação, e esta mesma faz Leitura ?
Muito Obrigado!
Mas eu postei justamente por que fiquei encucado com isto. Porquê o VB mostra o ItemData como uma propriedade que tem um parametros para Gravação, e esta mesma faz Leitura ?
Muito Obrigado!
Tópico encerrado , respostas não são mais permitidas