Страница: 1 |
народ, подскажите как вывести окно в котором содержиться дерево папок(стандартное)
Есть примерчик. Если нужен - говори - вот моё мыло - a_daniyar@mail.ru 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 Type BROWSEINFO hwndOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type Public Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" _ (lpbi As BROWSEINFO) As Long Public Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" _ (ByVal pidl As Long, ByVal pszPath As String) As Long Public Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal pv As Long) Private Sub cmdOpenFolder_Click() 'frmPath.Show vbModal Dim bi As BROWSEINFO ' structure passed to the function Dim pidl As Long ' PIDL to the user's selection Dim physpath As String ' string used to temporarily hold the physical path Dim retval As Long ' return value ' Initialize the structure to be passed to the function. Оба-на!!! Не все строки вставляются в ответ после отправки. Админ может насторожиться. ' Initialize the structure to be passed to the function. With bi ' The owner of the dialog box. .hwndOwner = Me.hWnd ' Specify the My Computer virtual folder as the root. retval = SHGetSpecialFolderLocation(Me.hWnd, CSIDL_DRIVES, .pidlRoot) ' Make room in the buffer to get the [virtual] folder's display name. .pszDisplayName = Space(260) ' Message displayed to the user. .lpszTitle = "Please choose a folder." ' Nothing else needs to be set. .ulFlags = 0 .lpfn = 0 .lParam = 0 .iImage = 0 End With ' Open the Browse for Folder dialog box. pidl = SHBrowseForFolder(bi) ' If the user selected something, display its display name ' and its physical location on the system. If pidl <> 0 Then ' Remove the empty space from the display name variable. bi.pszDisplayName = Left(bi.pszDisplayName, InStr(bi.pszDisplayName, vbNullChar) - 1) Debug.Print "The user selected: "; bi.pszDisplayName Debug.Print "The user selected: "; bi.pszDisplayName ' If the folder is not a virtual folder, display its physical location. physpath = Space(260) retval = SHGetPathFromIDList(pidl, physpath) If retval = 0 Then Debug.Print "Physical Location: (virtual folder)" Else ' Remove the empty space and display the result. physpath = Left(physpath, InStr(physpath, vbNullChar) - 1) txtDest.Text = physpath 'path to selected folder Debug.Print "Physical Location: "; physpath End If ' Free the pidl returned by the function. CoTaskMemFree pidl End If ' Whether successful or not, free the PIDL which was used to ' identify the My Computer virtual folder. CoTaskMemFree bi.pidlRoot End Sub to Malyav у меня тут ошибка выскакивает в строках Public Const CSIDL_DRIVES = &H11 Public Type BROWSEINFO может я что-то неопонял? Страница: 1 |
Вопрос: directory
Добавлено: 02.09.03 23:42
Автор вопроса: ZoomerSD | ICQ: 148640473
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
DAN
ICQ: 234826
Вопросов: 10
Ответов: 124
Web-сайт:
Профиль | | #1
Добавлено: 03.09.03 07:12
Номер ответа: 2
Автор ответа:
Malyav
ICQ: 8440085
Вопросов: 15
Ответов: 117
Web-сайт:
Профиль | | #2
Добавлено: 03.09.03 07:23
Номер ответа: 3
Автор ответа:
Malyav
ICQ: 8440085
Вопросов: 15
Ответов: 117
Web-сайт:
Профиль | | #3
Добавлено: 03.09.03 07:25
Номер ответа: 4
Автор ответа:
Malyav
ICQ: 8440085
Вопросов: 15
Ответов: 117
Web-сайт:
Профиль | | #4
Добавлено: 03.09.03 07:27
Номер ответа: 5
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #5
Добавлено: 03.09.03 12:12
Я ставил оганичение на 7000 знаокв. Но тут явно меньше... Странно...
Номер ответа: 6
Автор ответа:
ZoomerSD
ICQ: 148640473
Вопросов: 135
Ответов: 270
Профиль | | #6
Добавлено: 03.09.03 19:22
Номер ответа: 7
Автор ответа:
Malyav
ICQ: 8440085
Вопросов: 15
Ответов: 117
Web-сайт:
Профиль | | #7
Добавлено: 04.09.03 09:37
To zoomersd
Все объявления в модуле а не в коде формы. ПоэтомуПаблик и не прокатывает. На форме только кнопка и код в событии для нее.