Probléme activeX - Comment afficher dans une propriétée une liste d'objets

cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012 - 19 juin 2004 à 21:05
cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012 - 20 juin 2004 à 14:14
J'ai été fouiller un peu partout sans grand succés . Je cherche comment dans une propriété d'objet ActiveX codé avec VisualBasic je peux proposer une liste d'objets.

Prennez l'exemple des imageList, quand un controle Microsoft en utilise, dans la propriétée il liste tous les imageList de la form. (Ou sinon prennez les connections ADO)

Bréf, j'ai trouvé des methodes, mais aucune qui permet de saisir dans une liste le nom de l'objet en question.

Si kkl1 à des pistes à me donner, ça serais super sympa :)

3 réponses

cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
19 juin 2004 à 23:08
salut j'ai eu le meme pb, j'arrive a lister les objets mais pas les propriétés de chaque objet.

si j'ai bien compris, tu veux toute la liste d'objets contenu dans une form. La seule façon que j'ai trouvé pour reussir cela, etait la page de propriété du controle avec dedans une listbox

#le controle en question doit posséder une function friend.
Friend Function FormControls() As Object
Set FormControls = UserControl.ParentControls
End Function

#dans la page de propiété
Private Sub PropertyPage_SelectionChanged()
Dim Obj As Object
Dim Obj1 As UpDownXP(nom du controle object)
Set Obj1 = SelectedControls(0)
For Each Obj In Obj1.FormControls
List1.AddItem Obj.Name
Next Obj
End Sub

j'espere ne pas m'etre trompé dans ce que tu voulais,
et je cherche toujours comment avoir toutes les propriétés listé d'un object.
liquide
0
cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012
19 juin 2004 à 23:22
non carément pas, je cherche quelle instruction je peux tapper pour proposer en guise de propriété une liste d'objets contenus dans un form, dont on à le type.

Plus concrétement, je fais un objet, qui à besoin d'une imageList (objet contenant une liste d'images) ... et je veux proposer au gars au lieu de saisir son nom et que j'aille la chercher dans la collection de la form, qu'il propose une liste d'objets existants.

Exemple

Property Get ImgList() as ImageList
....
End Property

Property Set ImgList(byval NewImgList as ImageList)
....
End Property

Le seul Pb c'est que ces instructions ne fonctionnent pas en visual basic.

Si kkl1 sais comment définir une liste personnelle et la faire passer comme propriété sous VB, ça m'interesse.
0
cs_aKheNathOn Messages postés 575 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 23 octobre 2012
20 juin 2004 à 14:14
Je viens enfin de trouver la solution à mon probléme sur le site de vbaccelerator.

Voilà, pour ceux à qui ça interesse, la solution se trouve à l'url :

http://www.vbaccelerator.com/home/VB/Code/Controls/UserControl_OLE_Extensions/IPerPropertyBrowse/article.asp

Petite explication de la methode à suivre : Ils expliquent qu'ils modifient l'interface de VB des propriétées, pour en créer une liste.

Je pense que pour un activeX il sera typé pour l'interface de Visual Basic, mais la propriétée sera accéssible partout.

Là il prend le property Get comme un string, alors que c'est un objet ... alors pour avoir l'objet faut écrire :

UserControl.Parent.Controls("Nom du controle")

Et puis si vous voulez y affecter une valeur avec un Set ecrivez ceci en plus des déclarations de type string :

Friendly Property Controle (Obj as Object)
....
End Property

Bonne prog à tous, akh
0
Rejoignez-nous