以前问过的老问题,没解决很简单的一个试验CFileDialog dlg(TRUE);
dlg.DoModal();我的开发环境:
SDK版本为February 2003 Build: 3790.0
VC6.0sp6结论如下:在工程中定义#define _WIN32_WINNT 0x0500
每次退出要出错,就算你只声明一下CFileDialog dlg(TRUE);,退出也报错
只能用以下任意一种方法编译就能运行正常1.用vs.net编译
2.或用老的SDK
3.或去掉#define _WIN32_WINNT 0x0500但是我最终用VC6编译,必须有#define _WIN32_WINNT 0x0500,请问如何解决?
请大家帮助解决一下
dlg.DoModal();我的开发环境:
SDK版本为February 2003 Build: 3790.0
VC6.0sp6结论如下:在工程中定义#define _WIN32_WINNT 0x0500
每次退出要出错,就算你只声明一下CFileDialog dlg(TRUE);,退出也报错
只能用以下任意一种方法编译就能运行正常1.用vs.net编译
2.或用老的SDK
3.或去掉#define _WIN32_WINNT 0x0500但是我最终用VC6编译,必须有#define _WIN32_WINNT 0x0500,请问如何解决?
请大家帮助解决一下
解决方案 »
- 关于opencv识别方面的问题,可花钱
- microsoft visio在MFC的显示
- Ado编程,请问如何将内存中的一块数据(如hGlobal)放入一个_variant_t中呢,谢谢
- 用ATL做Activex,用_com_util::ConvertBSTRToString函数后,在release版中会报错?
- 请问在vc中如何使用仅仅有一个dll的com组件
- 请教关于图像切割的问题!
- 使用CStirng::format之前 字符串必须为空吗?
- 怎样单步调试MFC程序
- 我动态创建的控件,要在创建后修改属性,用了ModifyStyle(ES_MULTILINE,0)或ES_RIGHT 怎么没起作用啊发?
- 我在win32(mfc支持)中csocket.create(port)为什么要报错(1440-无效的窗口句并)
- 关于CHttpFile的长度
- 关于SendMessage的问题
up,gz
SDK版本用最新的也可以TO:DentistryDoctor(雅克医生<改行做程序员了>)
随便一个程序,加个按钮,响应函数里面键入:
CFileDialog dlg(TRUE);
dlg.DoModal();
就可以了
但这样不时办法
上次不是说有个老外找到了解决办法了吗?
是怎么解决的?
dlg.m_ofn.lStructSize = sizeof(OPENFILENAME);
对话框会变成Win2K的新的文件对话框
可能是根据lStructSize 的大小来判断是否使用那3个成员
代码如下: OPENFILENAME ofn;
TCHAR lpstrFilename[MAX_PATH] = "";
ZeroMemory(&ofn, sizeof(ofn)); ofn.lStructSize = sizeof(OPENFILENAME);//lStructSize的返回值是是76
ofn.hwndOwner = this->m_hWnd;
ofn.lpstrFilter = "微软 Excel 工作表文件 (*.xls)";
ofn.nMaxFile = MAX_PATH;
ofn.lpstrFile=lpstrFilename;
ofn.lpstrInitialDir = strPath; if (GetOpenFileName(&ofn))
do something....以上代码在我这是调试通过,没错误。:)
TCHAR szName[MAX_PATH];
*szName = 0;
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = AfxGetMainWnd()->GetSafeHwnd();
ofn.lpstrFilter = "txt files\0*.txt\0All files\0*.*\0";
ofn.lpstrCustomFilter = NULL;
ofn.nFilterIndex = 1;
ofn.lpstrFile = szName;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrTitle = TEXT("Open txt File...\0");
ofn.lpstrFileTitle = NULL;
ofn.lpstrDefExt = TEXT("*\0");
ofn.Flags = OFN_FILEMUSTEXIST | OFN_READONLY | OFN_PATHMUSTEXIST;
// Create the standard file open dialog and return its result
GetOpenFileName((LPOPENFILENAME)&ofn);
AfxMessageBox(ofn.lpstrFile);
21bird(世纪菜鸟:sailing)
bobob(静思--潜心研究PDF)
看来只能用这种方法,是MFC的BUG
猜想还是跟那3个新增的成员有关系,MSDN上说那三个东西必须要置0
不知道有没有哪位老师愿意去研究一下,为大家解除困惑