powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос про fileDlg
6 сообщений из 6, страница 1 из 1
Вопрос про fileDlg
    #33018715
gogo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Запускается приложение. Восстанавливается состояние обектов из файла.
В приложении в процессе работы вызывается fileDlg.DoModal(); для выбора
некоторых файлов. После этого Система переустанавливает значение
текущего каталога ( устанавливает его на каталог который был выбран в диалоге fileDlg.DoModal(); ). В результате при выходе из Приложения файл в котором запоминается текущее состояние обьектов Приложения пишется в этот переустановленной каталог, а не в тот откуда он читался.
Как этого избежать.
Какие есть функции есть для работы с "Текущим Каталогом". Типа Get/Set ?
Спасибо.
...
Рейтинг: 0 / 0
Вопрос про fileDlg
    #33018884
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аткрывать файл с полным путем. В прилажении в параметрах кажется есть путь, откуда запускалась программа . Приписываешь к нему имя файла - и вперед.
...
Рейтинг: 0 / 0
Вопрос про fileDlg
    #33019618
nikname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня вопрос в тему.
Как переделать FileDlg в диалог для выбора директории?
...
Рейтинг: 0 / 0
Вопрос про fileDlg
    #33037418
Dubrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Толком уже не помню, но примерно так:
1. Создается окно диалога (на основе стандартного, есть в папке INCLUDE VC)
2. Убираются ненужные control-ы (причем не удаляются а делаются скрытыми или/и с нулевыми размерами).
3. На основе класса COpenDialog делается свой, в котором переопределяется OnInitDialog
4. Вместо имени файла задается что угодно (лишь бы не пустота).
5. Диалог создается и ... (дальше не помню, sorry).
А, кстати, нужно использовать диалог выбора файла в стиле Windows 3.1 т.к. в нем есть окно выбора папки, в отличие от окна Win 95.

А еще лучше использовать ф-цю.
Код: plaintext
1.
ITEMIDLIST SHBrowseForFolder(LPBROWSEINFO lpbi);
про которую можно почитать в MSDN.
---
С уважением, Dubrov.
...
Рейтинг: 0 / 0
Вопрос про fileDlg
    #33043369
Ой Вэй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В структуре OPENFILENAME есть поле Flags, и один из битов называется OFN_NOCHANGEDIR -- не менять текущую директорию при вызове диалога открытия файла.

Для работы с текущей директорией есть функции GetCurrentDirectory(), SetCurrentDirectory().
...
Рейтинг: 0 / 0
Вопрос про fileDlg
    #33052342
Dubrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще, если нужно чтобы настройки приложения всегда были в одном месте можно:
1. Использовать реестр;
2. Писать INI-шку в папку Windows (как это было в Win3.x или в Win9x);
3. В классе CWinApp (или в его родителях) есть переменная с именем то ли программы, то ли хелпа от нее, то ли самой папки в которой EXE-шник находится, и из нее можно узнать папку программы и писать файл с настройками в нее.
Но лучше всего использовать реестр. В крайнем случае в нем можно хранить не сами настройки, а имя и путь к последнему использовавшемуся файлу конфигурации.
---
С уважением, Dubrov.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос про fileDlg
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]