Avatar billede netsjov Nybegynder
16. marts 2002 - 20:39 Der er 5 kommentarer og
1 løsning

Common Dialog

Jeg kunne godt tænke mig at få en Common Dialog hvor man kun kan vælge mapper, og ikke filer. Hvad gør jeg?
Avatar billede sub-media Nybegynder
16. marts 2002 - 21:20 #1
det er umuligt
commen dialog kan kun bruges til at åbne/gemme dokumenter
og diverse andre ting
Avatar billede netsjov Nybegynder
16. marts 2002 - 21:24 #2
Hmm hvad bruger jeg så??
Avatar billede megaanden Nybegynder
16. marts 2002 - 21:53 #3
Laver en form
og så putter en mappe liste og en drev liste ind i den
Avatar billede kedde65 Praktikant
16. marts 2002 - 22:11 #4
Hvis du putter flg. kode i et modul

Public Const BIF_RETURNONLYFSDIRS = 1
    Public Const BIF_DONTGOBELOWDOMAIN = 2
   
    Public Const MAX_PATH = 260
   
    Public Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
    Public Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidlist As Long, ByVal lpBuffer As String) As Long
    Public Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpstring1 As String, ByVal lpstring2 As String) As Long
   
    Public Type BrowseInfo
        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


Og putter en knap på en formular, og sætter flg. kode i under knappens click_event.
Så kan du fange et bibliotek istedet for en fil.

    Dim lpIDList As Long
    Dim sBuffer As String
    Dim szTitle As String
    Dim tBrowseInfo As BrowseInfo
   
    szTitle = "Vælg bibliotek"
   
    With tBrowseInfo
        .hWndOwner = frmMain.hwnd
        .lpszTitle = lstrcat(szTitle, "")
        .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
    End With
       
    lpIDList = SHBrowseForFolder(tBrowseInfo)
   
    If (lpIDList) Then
        sBuffer = Space(MAX_PATH)
        SHGetPathFromIDList lpIDList, sBuffer
        sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
        txtFilename = sBuffer
    End If

Jeg har iøvrigt en txtFilename som er sat på formularen.

Kedde
Avatar billede sjh Nybegynder
16. marts 2002 - 22:12 #5
Avatar billede netsjov Nybegynder
16. marts 2002 - 22:42 #6
Tak kedde65 , det virker perfekt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester