您的位置:首页 > 其它

MFC之文件选择对话框使用

2012-12-04 13:34 405 查看

一、可绑定一个按钮事件,在事件中添加如下代码实现文件路径选择

UpdateData(TRUE);

CString szFilterFDlg = "SCDCC码(*.bmp)|*.bmp||";

CFileDialog
fileDlg(TRUE, "cup", "", NULL, szFilterFDlg, NULL); ///TRUE为OPEN对话框,FALSE为SAVE AS对话框

fileDlg.m_ofn.lpstrInitialDir= "c:\\windows\\"; //指定打开文件夹,如果没有此文件夹,则一般默认打开“我的文档”

if(fileDlg.DoModal() == IDOK)

{

m_sFile = fileDlg.GetPathName();

UpdateData(FALSE);

}

CFileDialog::CFileDialog( BOOL bOpenFileDialog,

LPCTSTR lpszDefExt = NULL,

LPCTSTR lpszFileName = NULL,

DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,

LPCTSTR lpszFilter = NULL,

CWnd* pParentWnd = NULL );

  参数意义如下:

  bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框。

  lpszDefExt 指定默认的文件扩展名

  lpszFileName 指定默认的文件名。

  dwFlags 指明一些特定风格。

  lpszFilter 是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。参数格式如:

  "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 ||
指明。

  pParentWnd 为父窗口指针。

二、获取路径后,可通过access函数判断路径下文件是否存在

if(access(cpscdccFile,0)!=0) //
{
messagebox("文件不存在!");
}

access()函数用来判断用户是否具有访问某个文件的权限(或判断某个文件是否存在).

头文件: #include<io.h>

int access(const char *pathname,int mode)

参数:

pathname:表示要测试的文件的路径

mode:表示测试的模式可能的值有:

R_OK: 4 是否具有读权限

W_OK: 2 是否具有可写权限

X_OK: 1 是否具有可执行权限

F_OK: 0 文件是否存在

返回值: 若测试成功则返回0,否则返回-1

实例:

说明:下面的例子用来测试指定的文件是否具有可读权限

#include<unistd.h>

#include<stdio.h>

#include<stdlib.h>

int main(int argc,char *argv[]){

if(argc<2){

printf("Usage:%s filename\n",argv[0]);

exit(1);}

if(access(argv[1],R_OK)==0){

printf("File:%s can read\n",argv[1]);}

else

printf("File:%s can't read\n",argv[1]);

return 0;

}

PathFileExists 函数也可以用来查看一个文件或文件夹是否存在。

用法:

在头文件中

#include <shlwapi.h>

#pragma comment(lib,"Shlwapi.lib") //如果没有这行,会出现link错误

if (PathFileExists(strDBPath))

{

//存在

}

else //不存在
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: