Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Nouveau Membre du Club
    Inscrit en
    avril 2004
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : avril 2004
    Messages : 173
    Points : 25
    Points
    25

    Par défaut Choisir "pictures" comme répertoire racine

    bonsoir
    j'utilise "SHBrowseForFolder" pour sélectionner un répertoire j'aurais voulu mettre le répertoire "Images" ou "pictures" ou "mypictures" comme répertoire de départ . je pense que je dois agir sur "pIDLRoot" mais comment coder

    merci d'avance

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro Moncef Ben Othman
    Directeur de lycée
    Inscrit en
    juillet 2009
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Nom : Homme Moncef Ben Othman
    Âge : 59
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur de lycée
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2009
    Messages : 1 473
    Points : 2 943
    Points
    2 943

    Par défaut

    Bonjour;

    Il y a peut-être ce Code qui répond à ta demande.
    A cœur vaillant rien d'impossible
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec
    Vous pouvez voir Mes contributions

  3. #3
    Nouveau Membre du Club
    Inscrit en
    avril 2004
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : avril 2004
    Messages : 173
    Points : 25
    Points
    25

    Par défaut

    Merci
    j'ai fait ce qui suit ce qui me manquait c'était la fonction "SHGetSpecialFolderLocation" et "SHGetPathFromIDList " et ce qui représente le répertoire picture Public Const CSIDL_MYPICTURES = &H27

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    Option Explicit
    'ensemble pour déclarer le répertoire qui contient les photos
     
    Private Declare Function SHBrowseForFolder Lib "shell32" (lpBI As BROWSEINFO) As Long 'affiche une boite de dialogue _
                qui permet à l'utilisateur de sélectionner un répertoire
    'Si l'utilisateur choisit le bouton d'annulation dans la zone de dialogue, la valeur de retour est NULLE.
    'adresse de la structure "Browseinfo" qui contiens les informations utilisé pour afficher la boîte de dialogue.
     
    Private Type BROWSEINFO 'description de la boite de dialogue
        hwndOwner As Long
        pidlRoot As Long
        pszDisplayName As Long
        lpszTitle As Long
        ulFlags As Long
        lpfnCallback As Long
        lParam As Long
        iImage As Long
    End Type
    'BROWSEINFO est une structure qui contient les paramètres pour la fonction SHBrowseForFolder. _
        Elle reçoit les informations sur le dossier que l'utilisateur a sélectionné.
    'hwndOwner: Handle de la fenêtre qui affiche la boîte de dialogue
    'pidlRoot: Pointeur sur un identifiant de liste précisant l'emplacement du dossier "racine" pour le parcours _
        de dossiers. Seul le dossier spécifié ainsi que ses sous-dossiers apparaîtront dans la boîte de dialogue. _
        Ce membre peut être à Null mais dans ce cas la racine par défaut sera le bureau.
    'pszDisplayName: adresse d'un buffeur pour recevoir le nom d'affichage du répertoire choisie par l'utilisateur. _
        la taille de ce buffeur est présumé être  à MAX_path.
    'lpszTitle: adresse de d'une chaine de caractère montrée au-dessus de l'arbre dans la zone de dialogue. _
        Cette chaine peut être employée pour indiquer des instructions à l'utilisateur.
    'ulFlags: Valeur spécifiant les types de dossiers à afficher dans la boîte de dialogue ainsi que d'autres options _
        Ce membre peut inclure zéro ou une combinaison des valeurs suivantes: _
        BIF_BROWSEFORCOMPUTER;  Retourne seulement un ordinateur. Si l'utilisateur sélectionne autre chose qu'un ordinateur, le bouton OK est grisé. _
        BIF_browseforprinter:   Retourne seulement une imprimante. Si l'utilisateur sélectionne autre chose qu'une imprimante, le bouton OK est grisé. _
        BIF_browseincludefiles: la boite de dialogue fera apparitre les fichiers en plus des répertoires _
        BIF_dontgobelowdomain; 'inclut pas les dossiers réseau en dessous du niveau de domaine dans la vue de l'arborescence. _
        BIF_editbox:.Version 4,71 la boite de dialogue l'utilisateur peut introduire au clavier le nom d'un article. _
        BIF_returnfsancestors: Si l'utilisateur choisit n'importe quoi autre qu'un ancêtre de système de fichiers, le bouton OK est grisé. _
        BIF_returnonlyfsdirs:si lutilisateur choisit autre chose qu'un répertoire, le bouton OK est grisé. _
        BIF_statustext: incluent un secteur de statut dans la zone de dialogue.  La fonction de rappel de service peut placer le texte de statut en envoyant des messages à la zone de dialogue. _
        BIF_validate: Version 4,71 de .  Si l'utilisateur dactylographie un nom inadmissible dans la boîte d'édition, _
            le dialogue de lecture rapide appellera BrowseCallbackProc de l'application avec le message de BFFM_validatefailed. _
            Ce drapeau est ignoré si BIF_editbox n'est pas indiqué.
    'lpfn:   adresse de  d'une fonction application-définie que la zone de dialogue appelle quand un événement se produit. _
        Pour plus d'information, voyez la fonction de BrowseCallbackProc. _
        Ce membre peut être NUL.
    'lParam: Application-a défini la valeur que la zone de dialogue passe à la fonction de rappel de service, _
        si on est indiqué.
    'iImage: variable  pour recevoir l'image qui est associée au répertoire choisi.  L'image est indiqué comme index sur la liste d'image de système.
    Private Const BIF_RETURNONLYFSDIRS = 1
    Private Const BIF_DONTGOBELOWDOMAIN = 2
     
    Public Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, _
                                                        ByVal nFolder As Long, ppidl As Long) As Long
     
    Public Const CSIDL_DRIVES = &H11
    Public Const CSIDL_MYPICTURES = &H27
    Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, _
        ByVal lpBuffer As String) As Long 'converti un identifiant de liste en en path de fichier
     
     
    Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, _
        ByVal lpString2 As String) As Long 'the lstrcat function appends one string to another.
     
     
    Public Function SelectFolder(Titre As String, Handle As Long) As String
     
    Dim lpIDList As Long
    Dim strBuffer As String
    Dim strTitre As String
    Dim tBrowseInfo As BROWSEINFO
    Dim retval As Long  ' 'valeur de retour
     
    strTitre = Titre
    With tBrowseInfo
        .hwndOwner = Handle
        retval = SHGetSpecialFolderLocation(Handle, CSIDL_MYPICTURES, .pidlRoot)
        '.pszDisplayName = Space(260)
        .lpszTitle = lstrcat(strTitre, "")
        .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
    End With
     
    lpIDList = SHBrowseForFolder(tBrowseInfo)
     
    If (lpIDList) Then
        strBuffer = String(260, vbNullChar)
        SHGetPathFromIDList lpIDList, strBuffer
        SelectFolder = Left(strBuffer, InStr(strBuffer, vbNullChar) - 1)
    End If
     
    End Function

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •