|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.03.2016, 15:17 | #1 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
Диалог выбора файла
Вот смотрю пример из книги по работе с диалогом.
смущает эта строка (скрин). тут автор устанавливает поле hInstance значением которое в коде нигде не фигурировало. в описании на OPENFILENAME нечего не сказано что оно должно быть установлено вручную. есть догадка что там должно быть так Код:
|
21.03.2016, 15:26 | #2 | ||||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Цитата:
Цитата:
Цитата:
Цитата:
|
||||
21.03.2016, 15:34 | #3 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
вот полный листинг
Код:
создание окна происходит по стандартному шаблону, поэтому не приводитсятам вообще то идет речь про установку флага который лежит вообще в другой переменной Последний раз редактировалось RAFA91; 21.03.2016 в 15:38. |
21.03.2016, 15:43 | #4 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Цитата:
Цитата:
|
||
21.03.2016, 15:47 | #5 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
|
21.03.2016, 15:50 | #6 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
hInst обычно ставят глобальной переменной инициализируемой из WinMain. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
21.03.2016, 15:57 | #7 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
|
21.03.2016, 16:40 | #8 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Зависит от того, что вы хотите и какие флаги поставите - читайте описание полей. Размер точно заполняется.
|
21.03.2016, 16:55 | #9 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
понятное дело что надо заполнить 1. file.lStructSize = sizeof(OPENFILENAME); 2. file.lpstrTitle = _T("Открыть файл для чтения"); 3. file.lpstrFile = name; 4. file.nMaxFile = 256; 5. file.lpstrDefExt = _T("txt"); 6. file.Flags = OFN_HIDEREADONLY; кстати строка file.lpstrInitialDir = _T(".\\"); верно указана, или надо так file.lpstrInitialDir = _T("C:\\"); |
21.03.2016, 17:00 | #10 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,758
|
Ну если вам нужна не текущая, а C:\ то меняйте
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
диалог выбора файла с консоли | nastya25 | Qt и кроссплатформенное программирование С/С++ | 1 | 01.04.2015 17:16 |
Диалог выбора файлов | БалаШагаЛ | Win Api | 1 | 21.12.2011 20:39 |
Как отобразить модально диалог выбора файла GetOpenFileName? | bigcrush | Win Api | 3 | 13.05.2009 16:03 |
Диалог выбора каталога | AlexeyLed | Общие вопросы C/C++ | 0 | 15.03.2009 14:16 |
Диалог выбора папки | delphin100 | Общие вопросы Delphi | 2 | 01.06.2008 22:43 |