|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre régulier
![]() Inscription : janvier 2005 Messages : 104 ![]() |
Bonjour,
Dans une appli j'ouvre une fenêtre qui permet à l'utilisateur de choisir un répertoire. Il y a un répertoire racine, et un répertoire sélectionné par défaut. Pour cela j'utilise ce code (source : Tofalu sur ce forum) Code :
Code :
Quelqu'un sait pourquoi ? Merci pour votre aide. |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Morgan BILLYcouteau Suisse Inscription : octobre 2004 Messages : 4 280 ![]() |
Salut,
Si tu veux ton répertoire par défaut enlève cette ligne : Code :
.pIDLRoot = SHGetIDListFromPath(StrConv("C:\", vbUnicode))
__________________
Personnaliser la vue Backstage d'Access 2010 Découvrez avec nous Office 2010 Je ne réponds pas aux questions techniques par MP
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : janvier 2005 Messages : 104 ![]() |
Salut,
Merci pour la suggestion, mais quand j'enlève cette ligne, je n'ai pas de répertoire par défaut quand même Grosso modo, j'aimerais avoir trois choses en même temps : - une racine pour mon arborescence (pIDLRoot) - un répertoire qui sera sélectionné par défaut (lParam) - un bouton de création de répertoires Et les résultats suivants : Racine + Répertoire par défaut : OK Racine + Bouton de création : OK Racine + Répertoire par défaut + Bouton de création : je n'ai que le bouton et la racine Répertoire par défaut + Bouton de création : je n'ai que le bouton Apparament, à partir du moment ou je rajoute ce bouton, le répertoire par défaut n'est plus pris en compte. Je pige pas |
|
|
00
|
|
|
#4 |
![]() ![]() Morgan BILLYcouteau Suisse Inscription : octobre 2004 Messages : 4 280 ![]() |
re,
effectivement je n'avais pas bien compris ton souhait en passant le répertoire dans le DefaultFolder, cela fonctionne et en ne mettant pas pIDLRoot mais tu as toute l'arborescence des disques. Tu ne veux que le disque sélectionné dans pIDLRoot qui s'affiche dans la fenêtre ? Code :
MsgBox SelectFolder("test", Me.hWnd, "D:\Mes documents")
__________________
Personnaliser la vue Backstage d'Access 2010 Découvrez avec nous Office 2010 Je ne réponds pas aux questions techniques par MP
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : janvier 2005 Messages : 104 ![]() |
Oui en effet j'ai besoin de limiter l'arbre à un disque, les utilisateurs n'ayant pas le droit de toucher au reste.
En fait, l'idéal serait même de restreindre le tout à un seul répertoire (celui que je voulais prendre par défaut), et ainsi juste utiliser pIDLRoot. Mais quand j'essaie de passer "C:\essai" au lieu de "C:\" à pIDLRoot, la fonction SHBrowseForFolder me renvoie "Folder C:\essai cannot be used. Please select another folder." Cette API est bien mystérieuse pour moi |
|
|
00
|
|
|
#6 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : février 2012 Messages : 22 ![]() |
Bonjour à tous,
Je déterre un peu (beaucoup?) le sujet... Cela fait quelques jours que je n'arrive pas à régler cette question de "lParam"... Le tutoriel de SilkyRoad a été utilisé (merci à lui!) comme référence. La fenetre de recherche fonctionne parfaitement, mais je souhaiterais "pré-définir" un dossier lors de son ouverture. Seulement, je n'arrive pas du tout à régler le "lParam"... L'erreur d'execution 13 s'affiche : incompatibilité de type. Mon code plante à cette ligne précise : Code :
Code :
Private Declare Function SHGetPathFromIDList Lib "SHELL32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com