Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 375
от 02.01.2007, 06:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 397, Экспертов: 32
В номере:Вопросов: 1, Ответов: 2


Вопрос № 68860: GetOpenFileName(&ofn); - не запускается MSVS 2003. стандартный win32 проэкт нас с++ вызываю , но не появляется диалоговое окно ? подскажите в чём может быть причина?? ..

Вопрос № 68.860
GetOpenFileName(&ofn); - не запускается
MSVS 2003. стандартный win32 проэкт нас с++
вызываю , но не появляется диалоговое окно ?
подскажите в чём может быть причина??

Приложение:

Отправлен: 27.12.2006, 23:36
Вопрос задал: Mixffff (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: dentist
Здравствуйте, Mixffff!
вот так работает:

OPENFILENAME ofn = {0};
char * szFileName[MAX_PATH+1] = {0};
char * szTitleName[MAX_PATH+1] = {0};

ofn.lStructSize = sizeof(OPENFILENAME);
ofn.nMaxFile = MAX_PATH;
ofn.nMaxFileTitle = MAX_PATH;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
ofn.lpstrTitle=TEXT ("Открытие");
ofn.hwndOwner = NULL ;
ofn.lpstrFile = szFileName;
ofn.lpstrFileTitle = szTitleName;
ofn.lpstrFilter=TEXT("BMP *.bmp
if (GetOpenFileName(&ofn))
{
MessageBox(0, szFileName, szTitleName, 0);
}
---------
"Software is like sex, it's better then it's free" (c) Linus Torvalds
Ответ отправил: dentist (статус: 7-ой класс)
Ответ отправлен: 28.12.2006, 09:38

Отвечает: Tek
Здравствуйте, Mixffff!
Поюсню ответ предыдущего эксперта - ваша ошибка была в том, скорее всего, что у вас были неинициализированы строковые переменные(char * или LPSTR) .
Кроме того, nMaxFile и nMaxFileTitle - должны быть равны не sizeof(char *), а на один байт меньше так как в массив char'ов входит и стоповый нулевой символ

---------
WinApi - жутко неудобные костыли, MFC и VCL - немногим полезнее, но ничего лучше еще не создано (C)Почти Уинстон Черчилль :)
Ответ отправил: Tek (статус: 4-ый класс)
Ответ отправлен: 28.12.2006, 10:20


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.38 от 20.12.2006
Яндекс Rambler's Top100

В избранное