CFileDialog cfg(TRUE);
cfg.m_ofn.lStructSize = sizeof(OPENFILENAME);
cfg.m_ofn.lpstrTitle = "选择dll文件";
cfg.m_ofn.lpstrFilter = "All File(*.*)\0(*.*)\0doc(*.doc)\0(*.dox)\0\0";
cfg.m_ofn.Flags |= OFN_PATHMUSTEXIST |OFN_FILEMUSTEXIST;
不知什么原因过滤器不起作用,好像只能选择文件夹。
cfg.m_ofn.lStructSize = sizeof(OPENFILENAME);
cfg.m_ofn.lpstrTitle = "选择dll文件";
cfg.m_ofn.lpstrFilter = "All File(*.*)\0(*.*)\0doc(*.doc)\0(*.dox)\0\0";
cfg.m_ofn.Flags |= OFN_PATHMUSTEXIST |OFN_FILEMUSTEXIST;
不知什么原因过滤器不起作用,好像只能选择文件夹。
解决方案 »
- 非模态对话框销毁
- 散分,顺便推荐下正在听的一张专辑
- 我在MFC中插入flash,点击按钮进行切换时,有的切换的很快,有的却出现一瞬间的白色然后才显示自己加载的flash,怎么解决?
- 在创建COM对象时,总返回OUTOFMEMORY
- CEdit 密码模式下 输入密码时变成*是怎么实现的,我自绘以后如何实现?
- 问两个数据库入门问题
- DLL中定义的数组,主程序如何引用
- Debug时无错误提示,Release时却有个警告,大家帮我看看是什么意思
- FreeSeagull(孤海闲鸥),感谢你发给我的plug-in例子。
- 我想在windows下做监控软件,应该用什么样的hook?
- CListCtrl问题
- 如何disable树形控件里的一个节点
"All File(*.*)\0(*.*)\0doc(*.doc)\0(*.dox)\0\0"; \0改为 |
或者认真看一下MSDN
你这里写错了吧,怎么一个*.doc,一个*.dox,这怎么过滤文件呢?
还有一个问题:
void CInjectDlg::OnBtnChoose()
{
// TODO: Add your control notification handler code here
CFileDialog cfg(TRUE);
cfg.m_ofn.lStructSize = sizeof(OPENFILENAME);
char buf[1024] = {0};
cfg.m_ofn.nMaxFile = 256;
cfg.m_ofn.lpstrFile = buf;
GetCurrentDirectory(1024,buf);
cfg.m_ofn.lpstrTitle = "请选择Dll文件";
cfg.m_ofn.lpstrFilter = _T("所有文件(*.*)\0*.*\0DLL文件(*.dll)\0*.dll\0\0");
cfg.m_ofn.Flags |= OFN_FILEMUSTEXIST |OFN_EXPLORER|OFN_HIDEREADONLY ;
if(cfg.DoModal() == IDOK)
{
m_strPath = cfg.GetPathName();
UpdateData(FALSE);
}
}
我第二次点该按钮的时候弹不出打开对话框了!
不知道为什么?
那位仁兄帮解决一下~!
CFileDialog *cfg =new CFileDialog(TRUE,_T("*.dll"),NULL,NULL,_T("可选文件类型(*.dll)|*.dll||"),0); int result= (int)cfg->DoModal();
if(result==1)
{
pathstr = cfg->GetPathName();
UpdateData(FALSE);
}这样就可以了.过滤不需要你写的那么麻烦