如何使用CFileDialog?
最好有例子。
我在View里随便定义了一个,编译竟然出错?
问题点数:50、回复次数:11Top
1 楼goldolphin(心向天空)回复于 2001-10-16 15:57:29 得分 20
构造函数原型如下:
CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );
参数有点复杂,最好查一下MSDN。
Top
2 楼wmouse(山水)回复于 2001-10-16 15:58:34 得分 0
你是怎么定义的?Top
3 楼rushing(勇敢的心)回复于 2001-10-16 16:08:21 得分 0
我知道了,
应该这样定义:
CFileDialog fileDlg(True);
以前我没写True
然后该这样使用呢?
Top
4 楼hutyn(微波荡漾)回复于 2001-10-16 16:08:22 得分 0
最简单的可以这样:
CFileDialog myDlg(true or false);
Top
5 楼rushing(勇敢的心)回复于 2001-10-16 16:10:55 得分 0
我还想把文件内容读进来。
Top
6 楼hutyn(微波荡漾)回复于 2001-10-16 16:11:16 得分 0
其中 m_ofn 结构体所包含的信息非常重要,比如对话框标题,文件属性等等都可得到和进行操作,非常方便!Top
7 楼hutyn(微波荡漾)回复于 2001-10-16 16:12:26 得分 0
文件内容,你是指什么?Top
8 楼rushing(勇敢的心)回复于 2001-10-16 16:32:41 得分 0
比如,文件中的二进制字符,字符串,图形等等。
Top
9 楼wmouse(山水)回复于 2001-10-16 17:06:07 得分 0
那要有专门的读文件过程,我还不知道通过CFileDialog读取,可以
if(myDlg.DoModal()==IDOK)
{
//读去文件内容,接着做相应操作
}Top
10 楼hutyn(微波荡漾)回复于 2001-10-16 17:35:38 得分 20
CFileDialog 只能获取要打开或存储的文件名,或者设置一些属性等一些非常通用和基本的东东,但不能直接读取文件本身内容的,因为它只是个Dialog嘛!
要读取文件内容,必须自己编写相应操作。Top
11 楼kingzai(stevenzhu)回复于 2001-10-16 17:41:44 得分 10
给你一个例子:
CFileDialog filedlg(TRUE);
//
int structsize=0;
DWORD dwVersion;
//检测目前的操作系统,GetVersion具体用法详见MSDN
dwVersion=GetVersion();
// 如果运行的操作系统是Windows NT/2000
if(dwVersion<0x80000000)
structsize=88;//显示新的文件对话框
else
//运行的操作系统Windows 95/98
structsize =76;//显示老的文件对话框
//
filedlg.m_ofn.lStructSize=structsize;
if(filedlg.DoModal()==IDOK)
{
m_strFile=filedlg.GetPathName();
UpdateData(FALSE);
}Top




