Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Название последней папки в пути остается в поле, "Имя файла" после вызова GetOpenFileName 
V
    Опции темы
Royan
Дата 6.3.2006, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: нет
Всего: 15



У меня вот такой код.
Код

    char szPath[] = "D:\\MyFolder";
    char szFile[MAX_PATH];

    OPENFILENAME ofn = { sizeof(OPENFILENAME), hWnd, NULL,
        TEXT("XML Files\0*.xml\0All Files\0*.*\0\0"), NULL,
            0, 1, szPath, sizeof(szPath), szFile, MAX_PATH, NULL,
        TEXT("Open resource"),
        OFN_ENABLESIZING | OFN_PATHMUSTEXIST | 
        OFN_HIDEREADONLY | OFN_NOREADONLYRETURN, 
        0, 0, TEXT(""), 0, NULL, NULL };
   
    if(GetOpenFileName( &ofn ) != TRUE){        
        return 0;
    }


Когда окошко открывается вовсе не в той папке, которая указана в поле lpstrFile (инициализируется szPath), а на уровень выше при этом название последней папки помещается в textbox "Имя файла". В данном примере окно открывается на диске "D:\", а в поле будет красоваться "MyFolder". Как мне добиться того, чтобы окно открывалось в том месте, которое указано полем lpstrFile, а там где имя файла было пусто. В общем, классический вариант.


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
Romikgy
Дата 6.3.2006, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 7
Всего: 146



Код

  char szPath[] = "D:\\Install";
    char szFile[MAX_PATH];
    szFile[0]=0;
    OPENFILENAME ofn = { sizeof(OPENFILENAME), NULL, NULL,
        TEXT("XML Files\0*.xml\0All Files\0*.*\0\0"), NULL,
            0, 1, szFile, MAX_PATH, szFile, MAX_PATH, 
        szPath, TEXT("Open resource"),
        OFN_ENABLESIZING | OFN_PATHMUSTEXIST | 
        OFN_HIDEREADONLY | OFN_NOREADONLYRETURN, 
        0, 0, TEXT(""), 0, NULL, NULL };
   
    if(GetOpenFileName( &ofn ) != TRUE){        
        return 0;
    }



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Royan
Дата 6.3.2006, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: нет
Всего: 15



Romikgy,
Ты прав, а я проморгал.


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
Romikgy
Дата 6.3.2006, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 7
Всего: 146



Royan, очень старался smile
Имхо для меня, такое заполнение полей
Цитата(Romikgy @ 6.3.2006, 09:48 Найти цитируемый пост)
{ sizeof(OPENFILENAME), NULL, NULL,
        TEXT("XML Files\0*.xml\0All Files\0*.*\0\0"), NULL,
            0, 1, szFile, MAX_PATH, szFile, MAX_PATH,
        szPath, TEXT("Open resource"),
        OFN_ENABLESIZING | OFN_PATHMUSTEXIST |
        OFN_HIDEREADONLY | OFN_NOREADONLYRETURN,
        0, 0, TEXT(""), 0, NULL, NULL };
 

некрасиво, да и путаешься часто, я лично по именам заполняю, а здесь дабы не сильно менять исходный текст smile
PS самое главное что помогло, и рад этому smile smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0862 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.