Common dialog : multiselection

3/5 (6 avis)

Vue 4 813 fois - Téléchargée 262 fois

Description

PAS BESOIN DE TELECHARGER LE ZIP, JE N'AI PAS UPLOADER LE CODE, IL SE RESUME A LA PROCEDURE QUI EST DONEE PLUS BAS.

J'ai vu une question la dessus dans le forum, et je me suis dit que ca pourrait etre interressant de mettre un exemple dans les sources, plutot que dans le forum.

ya deux chose importantes a savoir :

.flags=cdlOFNAllowMultiselect or cdlOFNFileMustExist or ***cdlOFNExplorer***

1) les nom de fichier seront séparés par un null (chr(0))
"c:\windows\file1.ext file2.ext file3.ext"

2) si tu fait une selection assez importante avec beaucoup de nom de fichier, il va falloir que tu penses a ajuster le parametre MaxFileSize.

créez un nouveau projet
crééz un bouton ou vous appelez la prcedure addfiles bricolée un peu plus bas
crééz une liste "list1"
créez un common dialog "cd"

et collez ceci dans form1:

Source / Exemple :


Private Sub addfiles()
Dim str         As String
Dim pos         As Long

Dim Path1       As String

    With cd
        .DialogTitle = "Ouvrir fichiers "
        .DefaultExt = "*.*"
        .Filter = "Tout fichiers|*.*"
        .InitDir = App.Path
        .Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer Or cdlOFNFileMustExist
    End With

    cd.ShowOpen
    
        str = cd.FileName
        pos = InStr(str, Chr(0))
        
        If pos = 0 Then
            List1.AddItem cd.FileName
            Exit Sub
        End If
        
        Path1 = Left(str, pos - 1)
        
        Do
            str = Mid(str, pos + 1, Len(str))
            pos = InStr(str, Chr(0))
            
            If pos <> 0 Then
                If InStr(Mid(str, 1, pos - 1), ":") = 0 Then
                    List1.AddItem Path1 & "\" & Mid(str, 1, pos - 1)
                Else
                    List1.AddItem Mid(str, 1, pos - 1)
                End If
            Else
                List1.AddItem Path1 & "\" & str
                Exit Do
            End If
        Loop
    
End Sub

Conclusion :


Le flag CDLOFNEXPLORER Permet maintenant l'affichage des la fenetre standard de windows.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
nessx Messages postés 98 Date d'inscription mercredi 5 novembre 2003 Statut Membre Dernière intervention 8 janvier 2005
9 août 2004 à 11:28
ouahhh trop content sa marche merci beaucoup 10/10
nessx Messages postés 98 Date d'inscription mercredi 5 novembre 2003 Statut Membre Dernière intervention 8 janvier 2005
3 juil. 2004 à 12:54
si tu pouvais y arriver avec un autre flags la je mettrai 10/10
voilà
a+
merci d'avance
nessx
nessx Messages postés 98 Date d'inscription mercredi 5 novembre 2003 Statut Membre Dernière intervention 8 janvier 2005
3 juil. 2004 à 12:52
salut
oui dommage que sa marche pas avec un autre flags genre 9194495 ou autre car s'aurait était mieu
enfin bravo quand meme
merci d'avance
a+
Nessx
benzinafouad Messages postés 25 Date d'inscription jeudi 15 août 2002 Statut Membre Dernière intervention 21 juillet 2004
28 juin 2004 à 12:01
si le flag cdlOFNExplorer s'ajoute au code, le programme ne sera plus valable. il faut reformuler le code.
cs_RDX Messages postés 117 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 27 août 2005
27 juin 2004 à 22:12
c noté Renfield!

Enfin moi je m'en sert pas, alors...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.