PROPRIEDADE COM MULTIPLOS PARAMETROS

ASHKATCHUP 17/12/2009 15:09:39
#329931
Bom dia, companheiros de VB.

Estou criando um componente e encontrei dificuldade ao criar uma propriedade semelhante ao TEXTMATRIX do MsFlexGrid. Alguém sabe como fazer?

Obrigado.
WEBMASTER 28/12/2009 16:45:17
#330589
Ash,

Na verdade voce tem que ver algo relativamente simples.
Crie uma classe no projeto do seu componente, e a propertie dele sera do tipo da classe.

Exemplo, criar a classe pessoa (com nome, altura, sexo, etc...) e ligar o componente (.ctl) a uma propriedade do tipo pessoa.
Obviamente que sera tudo via SET (e nao LET) pois eh um objeto
ASHKATCHUP 02/01/2010 18:48:32
#330885
Webmaster, foi mal mas não entendi o que você quis dizer. Poderia explicar melhor ou dar um exemplo?

Estou tentando fazer um componente que contém uma matrix interna. Com isso, gostaria de criar o método TEXTMATRIX, para retornar os dados da matrix. Porém, esse [Ô]método[Ô] tem que ser uma propriedade, afinal ele retorna e recebe valores.

Desculpe a ignorância, mas não entendi como uma classe poderia me ajudar nisso.

WEBMASTER 04/01/2010 12:09:43
#331001
Aqui ai um exemplo bem simples de entender.
Uma PessoaItem tem propriedades compostas(nome, idade e sexo) e um objeto (usercontrol) tem propriedades baseadas em PessoaItem (logo, a composicao)
ASHKATCHUP 04/01/2010 14:33:49
#331016
WEBMASTER

Obrigado pelo exemplo. Na verdade, quando você me falou sobre usar classes, eu fiz algo parecido.


[EDIT]

Descobri como fazer o que eu queria. é só criar um método com dois parâmetros e o outro com três
Exemplo:


Private mMatrix(99, 99) As Variant

Public Property Get TextMatrix(ByVal lRow As Long, ByVal lCol As Long) As Variant
CellText = mMatrix(lRow, lCol)
End Property

Public Property Let TextMatrix(ByVal lRow As Long, ByVal lCol As Long, ByVal sText As Variant)
mMatrix(lRow, lCol) = sText
End Property


Tópico encerrado , respostas não são mais permitidas