求助,关于CFileDialog
c++吧
全部回复
仅看楼主
level 5
白00杨 楼主
在编一个程序时遇到这样的一个问题,好纠结啊.
CFileDialog dlg(TRUE,"bmp",".bmp",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"位图文件(*.bmp)|*.bmp||");
如果只是执行了这句话,然后在另一个函数里面执行下面这句话就没问题
CFile file1("1.txt",CFile::modeCreate | CFile::modeWrite);
不过如果把第一句话
CFileDialog dlg(TRUE,"bmp",".bmp",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"位图文件(*.bmp)|*.bmp||");
dlg.DoModal();
在第一句话后面加一个dlg.DoModal(),就无法打开文件了,
就是
CFile file1("1.txt",CFile::modeCreate | CFile::modeWrite);
这句话没用了。
为什么会这样呢?
建立模态对话框对文件操作有何影响响呢?
我又在第一句话后面加了EndDialog();似乎也不能对文件进行操作
2012年11月21日 03点11分 1
level 5
白00杨 楼主
自己来顶
2012年11月21日 03点11分 2
[顶]
2012年11月21日 14点11分
level 11
CFileDialog 默认会更改相对路径,导致读取文件路径错误,作如下修改即可:
CFileDialog dlg(TRUE,"bmp",".bmp",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT|OFN_NOCHANGEDIR, "位图文件(*.bmp)|*.bmp||");
2012年11月21日 10点11分 3
多谢啊,已经解决问题了。
2012年11月21日 14点11分
话说大神,怎么取消这个自动改变路径啊。[温暖]
2012年11月21日 14点11分
1