Property SelectFile commondialog

Signaler
Messages postés
15
Date d'inscription
jeudi 26 octobre 2000
Statut
Membre
Dernière intervention
23 avril 2010
-
cs_Calou
Messages postés
15
Date d'inscription
jeudi 26 octobre 2000
Statut
Membre
Dernière intervention
23 avril 2010
-
Je suis Calou, et bjr à toutes et à tous

J'ai un UserControl avec une propriété Url.
Quand je clique dans la fenetre de propriete, je souhaiterai ouvrir un commondialog qui me permette de selectionner un fichier sans passer par un PropertyBag.

J'avais trouvé un bou de code qui avait cette fonction mais impossible de remmettre la main dessus

Merci a vous

5 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
Salut
Pas très clair.
Si tu as créé une propriété nommée Url, tu auras créé les Property Get et Let.
Le Get te renvoie la chaine que tu y as stocké.
Le Let te permet d'écrire cette même chaine, par programme éventuellement = pas forcément en mode création de ton application.
Si tu veux demander à l'utilisateur de choisir un fichier, il faudra créer une Sub, par exemple UrlChoice, et c'est dans cette Sub que tu pourras faire appel au CommonDialog, puis récupérer la sélection et la stocker dans ta variable locale + PropertyBag

Pour ce qui est de CommonDialog : Il y a l'aide de VB6 + la foultitude de codes qui en parlent sur le site --> Recherche

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
15
Date d'inscription
jeudi 26 octobre 2000
Statut
Membre
Dernière intervention
23 avril 2010

Bonjour, et merci jack mais la réponse ne me convint pas vraiment

Alors d'apres l'aide visual basic, dans la rubrique "Guide de conception des pages de propriétés" il est signaler : "Évitez d'afficher des boîtes de dialogue à partir de pages de propriétés. (La boîte de dialogue Fichier Ouvrir est une exception à cette règle.)"
En effet les pages de propriété permettent de créer une interface pour le developpeur ou l'utilisateur afin d'éditer les propriétés d'un controle.
Dans mon cas, je veux ouvrir une boite de dialoue à la place d'une page de propriété.
De plus en essayant de passer par une page de propriété j'ouvre bien la boite de dialog "Commandialog" mais la page de propriété s'ouvre juste apres la selection du fichier, donc un peu beaucoup génant.
A moins que tu n'ai une astuce pour éviter que la propertypage ne s'ouvre.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
La page des propriétés s'ouvre quand l'utilisateur, en mode création, clique sur Propriétés du UserControl.
Cette page configurable est sensée regrouper toutes les saisie de propriété de ton UserControl, donc pas uniquement un seul choix de fichier.
Comme toute page/form, elle possède un bouton Ok de validation.
Il te suffit, après la récupération du nom de fichier sélectionné, de faire un
Call leBoutonOk_Click()


En ce qui concerne le PropertyBag, c'est un espace de stockage permettant de mémoriser les paramètres, donc pas de lien direct avec ton problème - il faudra continuer à t'en servir si tu veux pas être obligé de resaisir sans cesse tes paramètres.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
Ne pas confondre :
- Page de propriétés : Interface configurable
- Fenêtre des propriétés : propre à l'IDE de VB6
Messages postés
15
Date d'inscription
jeudi 26 octobre 2000
Statut
Membre
Dernière intervention
23 avril 2010

Merci à toi Jack,
Je savais déjà tout ca, il va donc falloir que je retrouve l'astuce parmis plusieurs milliers bouts de code qui me permette de faire ce que je veux. Car je sais que c'est possible, peut etre pas simplement mais ca l'est.

Pour info : Call leBoutonOk_Click() ne fonctionne pas sur la page de propriété, il faut récupérer le Hwnd de la fenetre pour la fermer.

Encore merci à toi et bon courage