|
|
|
Диалог для открытия каталога26.09.2010, 18:40. Показов 4938. Ответов 10
Метки нет (Все метки)
Нужен диалог для открытия каталога (но не файла). TDialogOpen не подходит по той причине, что там можно открывать только файлы. Возможно, что можно и каталоги, но я сам что-то не разобрался и поиском ничего интересного не нашёл. Есть интерфейс SelectDirectory, но он откровенно ублюдочный в плане удобства использования. Есть ли ещё что-нибудь или можно ли как-то настроить TOpenDialog?
0
|
|
| 26.09.2010, 18:40 | |
|
Ответы с готовыми решениями:
10
Стандартный диалог для открытия файлов
Самый простой способ создать диалог для открытия файла с диска? |
|
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
|
|
| 26.09.2010, 18:44 | |
|
TOpenDirectory. На рутрекере вроде были сырцы.
1
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||||||||||||||||
| 26.09.2010, 19:28 | ||||||||||||||||
|
Evg, а как на счёт варианта со стандартным диалогом SHBrowseForFolder?
Перед всеми директивами include прописываем маркос:
2
|
||||||||||||||||
|
|
||||
| 27.09.2010, 21:07 [ТС] | ||||
|
Добавлено через 22 часа 23 минуты
0
|
||||
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||
| 27.09.2010, 21:41 | ||
|
2. SHBrowseForFolder предоставляет поддержку "Сетевого окружения". 3. SHBrowseForFolder генерирует стандартное диалоговое окно, которое спроектировано в ОС Windows, а не сделано на компонентах из вкладки Win 3.1 (которые использованы в диалоге, вызванном с помощью SelectDirectory)
0
|
||
|
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
|
|
| 27.09.2010, 21:47 | |
|
MikeSoft, отличием есть только то, что описано в первом, остальное есть и в компоненте
0
|
|
|
|
|
| 27.09.2010, 22:09 [ТС] | |
|
У меня тоже возникло подозрение, что SelectDirectory - это просто надстройка над стандартным SHBrowseForFolder (правда с меньшим количеством настроек). Хотел убедиться, так ли это. Прочёл два противоположных мнения.
0
|
|
|
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
|
|
| 27.09.2010, 22:45 | |
|
Evg, не вижу противоречий. Понятия не имею, как писался этот TOpenDirectory, с использованием оной функции или без, но функционал у них плюс-минус один и тот же. Вам выбирать, пожертвовать переносимостю исходников или получить гемор в управлении SHBrowseForFolder
0
|
|
|
|
|
| 27.09.2010, 23:30 [ТС] | |
|
Посмотрел повнимательнее - всё-таки это не одно и то же. В SelectDirectory если задать путь, который должен высвечиваться по умолчанию, то выделенный каталог подсвечивается серым (а не тёмно-синим, стандартным для выделения). К тому же скроллбар в момент открытия всегда находится наверху, и, если выделенный по умолчанию каталог, находится за пределами видимой области, то скроллбар надо крутить ручками, что есть неудобно. В случае же SHBrowseForFolder по этой части всё нормально (посмотрел в чужих инсталляторах), только я так и не понял, как задать путь до выделенного каталога в момент открытия
Добавлено через 1 минуту Стороннюю компоненту TOpenDirectory я не рассматриваю в принципе, потому как вся жта идиотская концепция с компонентами мне не нравится. Чтобы мой исходник можно было скомпилять на чужом компе, надо сначала какие-то телодвиженя осуществить
0
|
|
|
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
|
||||||||||||||||||||
| 28.09.2010, 01:45 | ||||||||||||||||||||
|
1. 2. Cама компонента, далеко не OpenSource... Платить 97 вечнозелёных за то, чтобы можно было легально пользоваться продуктом? Оно того не стоит, если есть достойные, синхронизированные с ОС, замены. ![]() Вроде всё однозначно: iama, упоминал о компоненте. В коде, который я привёл выше, заменяем строку
1
|
||||||||||||||||||||
|
|
|||
| 28.09.2010, 23:28 [ТС] | |||
|
По поводу поля pidlRoot. Общий вопрос: как вообще что-то в pidlRoot засунуть, потому что во всех примерах туда записывают 0, но я так и не понял как преобразовать строковое значение пути в PIDL. И конкретный вопрос: что надо подсунуть в pidlRoot, чтобы в списке отображались только диски C, D, ..., но не было "Рабочий стол", "Компьютер" и прочая хрень. Добавлено через 6 минут И что делает BFFM_SETSTATUSTEXT? Судя по описанию - "Sets the status text", но что это такое? Потому что визуально я слова Greetings нигде не вижу Добавлено через 9 минут
0
|
|||
| 28.09.2010, 23:28 | |
|
Помогаю со студенческими работами здесь
11
Диалог открытия файла на winApi Диалог выбора каталога Как использовать диалог открытия файла Диалог открытия файла в bat/cmd
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|