Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2012, 13:46   #1
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
По умолчанию CFileDialog для express edition

Здравствуйте.Подскажите аналог функции CFileDialog для бесплатной express edition. Можно минимум функционала.
WizarD.89 вне форума Ответить с цитированием
Старый 29.01.2012, 13:56   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

CFileDialog это класс из MFC.

на практике обертка над GetOpenFileName
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.01.2012, 14:55   #3
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
По умолчанию

Пепел Феникса

Использовал данный код:

Код:
TCHAR file[512];
file[0]    = _T('\0');
OPENFILENAME open;

::ZeroMemory(&open, sizeof(OPENFILENAME));
open.lStructSize = sizeof(OPENFILENAME);
open.lpstrFilter = _T("EXE\0*.exe\0WGT\0*.wgt\0DLL\0*.dll\0All files\0*.*\0");
open.nFilterIndex = 1;
open.lpstrFile = file;
open.nMaxFile = sizeof(file) / sizeof( file[0] );
open.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;

if(GetOpenFileName(&open)){
    ::MessageBox(NULL, file, _T("File"), MB_OK);    //
}
выходят такие вот ошибки

Ильнур курсовая работаэ.obj : error LNK2001: неразрешенный внешний символ ""extern "C" int __stdcall MessageBoxW(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBoxW@@$$J216YGHPAUHWND__@@ PB_W1I@Z)"
1>Ильнур курсовая работаэ.obj : error LNK2001: неразрешенный внешний символ ""extern "C" int __stdcall GetOpenFileNameW(struct tagOFNW *)" (?GetOpenFileNameW@@$$J14YGHPAUtagO FNW@@@Z)"
1>C:\Users\Ильмир\Documents\Visual Studio 2008\Projects\Ильнур курсовая работаэ\Release\Ильнур курсовая работаэ.exe : fatal error LNK1120: 2 неразрешенных внешних элементов
WizarD.89 вне форума Ответить с цитированием
Старый 29.01.2012, 16:03   #4
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
По умолчанию

Пепел Феникса а есть что нить другое по легче?

столько ошибок, и не избавишься от них
WizarD.89 вне форума Ответить с цитированием
Старый 29.01.2012, 16:19   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я вам скинул ссылку, там указано что для этой функции нужно подключить Comdlg32.lib, в настройках проекта опции линкера.
а для MessageBox должна быть user32.lib, проверьте это(надеюсь тип проекта Win32?)

вот пример:
http://msdn.microsoft.com/en-us/libr...aspx#open_file
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MFC в VC++2008 express edition Notan1310 Общие вопросы C/C++ 2 05.01.2012 15:56
Microsoft Visual C# Express Edition Г. Павел C# (си шарп) 1 19.10.2011 21:47
Visual C++ 9.0 Express Edition Pizhon Visual C++ 25 09.09.2010 19:00
Visual C++ 2008 Express Edition Grisman Visual C++ 1 02.03.2009 20:19
Visual C++ 2005 Express Edition MuRDOC Visual C++ 2 16.05.2008 16:10