0 / 0 / 0
Регистрация: 18.02.2011
Сообщений: 60
1

Диалог выбора каталога (несколько вопросов)

27.03.2011, 21:17. Показов 1332. Ответов 4
Метки нет (Все метки)

Для вызова диалога выбора каталога использую вот такую вещь:
Visual Basic
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
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
 
'Декларации
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 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
Вопрос 1: что нужно изменить, чтобы ограничить область выбора 'Сетевым окружением' (папки на сетевых ресурсах)?
Вопрос 2: что нужно изменить, чтобы ограничить область выбора только локальными дисками (папки на локальных дисках)?

В смысле, всё остальное пусть будет видно, просто чтобы оно было недоступно. А лучше, чтобы вообще не было видно.

Какие будут идеи?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2011, 21:17
Ответы с готовыми решениями:

Диалог выбора каталога
Добрый день! Процедура КнопкаВыполнитьНажатие(Кнопка) Режим =...

Диалог выбора каталога в VBA
Здравствуйте все! Я здесь человек новый, никого не знаю :) Тем не менее у меня вопрос:...

диалог выбора файла/каталога
База находиться на сервере Подскажите пожалуйста как можно через LotusScript или @ пользователю...

Как создать диалог выбора шрифта и диалог выбора цвета
как создать диалог выбора шрифта и диалог выбора цвета в wpf

4
0 / 0 / 0
Регистрация: 18.02.2011
Сообщений: 60
28.03.2011, 23:42  [ТС] 2
Гм... Ясно.
Ладно. Тогда сам себе ещё один вопрос задам.
Вопрос 3: путь к каталогу на сетевом ресурсе возвращается в виде \Comp_namedcatalog.
Можно ли каким-нибудь стандартным образом разделить эту строку на имя сетевого ресурса и диск:каталог:
\Comp_name & d:catalog
0
Comanche
29.03.2011, 12:37 3
Скачай, наконец, API Guide !!!
(www.allapi.net)

И смотри все АПИ-функции в разделе 'Path' (их имена, кстати, все начинаются с 'Path').
2 / 2 / 1
Регистрация: 18.10.2007
Сообщений: 1,749
29.03.2011, 13:04 4
2pancer:
'\Comp_namedcatalog'

'\Comp_name & d:catalog'
ну и ищи третий слэш и бей по нему... ну и двоеточие ставаь... одна строка кода.
0
0 / 0 / 0
Регистрация: 18.02.2011
Сообщений: 60
29.03.2011, 21:07  [ТС] 5
2 Alexey Spirin:
Это уже сделано. Но это не изящно.
Я думал, есть что-нибудь стандартное из API.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2011, 21:07
Помогаю со студенческими работами здесь

Несколько вопросов, касательно выбора хдд
Помогите определится в двух вещах: Что важно при выборе жесткого диска (цена, бренд, гарантия,...

Копирование каталога, если несколько файлов из этого каталога заняты процессом
Подскажите пожалуйста как можно скопировать каталог в котором несколько файлов заняты процессом, то...

Бот-болтун: начинать диалог с разных вопросов
Создал бота болтуна, но 1 проблема при запуске когда начинаешь с ним разговаривать говорит каждый...

Диалог для открытия каталога
Нужен диалог для открытия каталога (но не файла). TDialogOpen не подходит по той причине, что там...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru