Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Создание справочника Windows API

Страница: 1 |

 

  Вопрос: Диалог выбора папки Добавлено: 07.07.07 14:03  

Автор вопроса:  Obfuscate
Есть такой код
Option Explicit

Private Type BrowseInfo
    hwndOwner As Long
    pIDLRoot As Long
    pszDisplayName As Long
    lpszTitle As String
    ulFlags As Long
    lpfnCallback As Long
    lParam As Long
    iImage As Long
End Type

Dim strPath As String
    Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
    Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
    Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)

Private Sub Command1_Click()
strPath = ""
BrowseForFolder Me.hWnd, "Select folder"
MsgBox strPath
End Sub

Private Function BrowseForFolder(hwndOwner As Long, sPrompt As String) As String
    Const BIF_RETURNONLYFSDIRS = 1, MAX_PATH = 260
    Dim intNull As Integer, lngIdList As Long
    Dim udtBI As BrowseInfo
With udtBI
        .hwndOwner = hwndOwner
        .lpszTitle = sPrompt
        .ulFlags = BIF_RETURNONLYFSDIRS
End With
    lngIdList = SHBrowseForFolder(udtBI)
    If lngIdList Then
        strPath = String$(MAX_PATH, 0)
        SHGetPathFromIDList lngIdList, strPath
        CoTaskMemFree lngIdList
        intNull = InStr(strPath, vbNullChar)
        If intNull Then strPath = Left$(strPath, intNull - 1)
    End If
    BrowseForFolder = strPath
End Function

Подскажите, пожалуйста, как сделать так, чтобы при появлении диалога, в нём сразу открывалась/выделялась заранее известная папка?

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 07.07.07 14:14
pIDLRoot As Long = SHSimpleIDListFromPath(начальная_папка)

Ответить

Номер ответа: 2
Автор ответа:
 Obfuscate



Вопросов: 3
Ответов: 10
 Профиль | | #2 Добавлено: 07.07.07 21:51
Не работает, SHSimpleIDListFromPath возвращает 0.
В интернете нашёл много примеров с SHSimpleIDListFromPath, но ни один из них у меня не работает как нужно!

Ответить

Номер ответа: 3
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #3 Добавлено: 07.07.07 21:54
можешь в дотнете попробовать?

Ответить

Номер ответа: 4
Автор ответа:
 Obfuscate



Вопросов: 3
Ответов: 10
 Профиль | | #4 Добавлено: 08.07.07 00:26
А в дотнете будет работать? У меня не установлен, я на VB изредка программки только для себя пишу :)

Ответить

Номер ответа: 5
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #5 Добавлено: 08.07.07 00:28
конечно, у меня ж работает

Ответить

Номер ответа: 6
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 08.07.07 00:59
дожились млять, указатль на строку передать немогут... Возьми ж пример готовый посмотри как там сделано, полно готовых, ПОЛНО!!!! В поиск, баян тема, мусор, оффтоп, флейм, срочно закрвть!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам