VC CFileDialog打开文件对话框获取文件路径

 

 

http://blog.sina.com.cn/s/blog_63e60e9c0100rubl.html

 

 

CFileDialog构造函数

1CFileDialog:CFileDialog(BOOL     bOpenFileDialog,
2LPCTSTR     lpszDefExt=NULL,
3LPCTSTR     lpszFileName=NULL,
4DWORD     dwFlags        OFN_HIDEREADONLY        OFN_OVERWRITEPROMPT,
5LPCTSTR     lpszFilter=NULL,
6CWnd        pParentWnd=NULL);

bOpenFileDialog:TRUE为打开文件对话框;FALSE为保存文件对话框

lpszDefExt:缺省的扩展名

lpszFileName:缺省显示在文件名组合框的编辑框的文件名,一般可选NULL

dwFlags:对话框风格,一般为OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, 即隐藏只读选项和覆盖已有文件前提示。

类型:

    OFN_HIDEREADONLY:隐藏只读选项

    OFN_OVERWRITEPROMPT:覆盖已有文件前提

    OFN_ALLOWMULTISELECT:允许选择多个文件

    OFN_CREATEPROMPT:如果输入的文件名不存在,则对话框返回询问用户是否根据次文件名创建文件的消息框

    OFN_FILEMUSTEXIST:只能输入已存在的文件名

    OFN_FORCESHOWHIDDEN:可以显示隐藏的文件

    OFN_NOREADONLYRETURN:不返回只读文件

   OFN_OVERWRITEPROMPT:保存的文件已存在时,显示文件已存在的信息

lpszFilter:文件筛选类型,它指明可供选择的文件类型和相应的扩展名。参数格式如:
"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。

pParentWnd:父窗口指针,一般可选NULL.

2、对话框选项常用属性(实例:dialog)

dialog.m_ofn.lpstrTitle:显示窗口标题。

dialog.m_ofn.lpstrInitialDir:初始化展开路径。

dlg.m_ofn.lpstrFile:默认文件

dlg.m_ofn.lpstrFilter:文件筛选类型,注意与lpszFilter区别,要用"\0",不能用"|"

如:dlg.m_ofn.lpstrFilter="所有文件\0*.*\0图像文件\0*.jpg;*.bmp;*.gif\0\0";

3、对话框常用方法

INT_PTR CFileDialog::DoModal() 显示文件操作对话框,常用返回值:IDOK,点击了打开确定操作 IDCANCEL,取消 

CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目录名和扩展名如:c:\test\test.txt。注,多文件选择时返回目录名

CString CFileDialog::GetFileName( ) 得到完整的文件名,包括扩展名如:test.txt

CString CFileDialog::GetExtName( ) 得到完整的文件扩展名,如:txt

CString CFileDialog::GetFileTitle ( ) 得到完整的文件名,不包括目录名和扩展名如:test

POSITION CFileDialog::GetStartPosition( ) 对于选择了多个文件的情况得到第一个文件位置。

CString CFileDialog::GetNextPathName( POSITION& pos ) 对于选择了多个文件的情况得到下一个文件位置,并同时返回当前文件名。但必须已经调用过POSITION CFileDialog::GetStartPosition( )来得到最初的POSITION变量。

 

 

CFileDialog FileDialog(TRUE,"*.jpg;*.bmp;*.png",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_NOCHANGEDIR|
		OFN_ENABLESIZING,"bmp文件(*.bmp)|*.bmp|jpg文件(*.jpg)|*.jpg|png文件(*.png)|*.png||");
	FileDialog.GetOFN().lpstrTitle = "选择图标文件";
	if(FileDialog.DoModal()==IDOK)
	{
		CString strSrcPath = FileDialog.GetPathName();
		m_strPicPath = strSrcPath;
		GetDlgItem(IDC_EDIT_PIC)->SetWindowText(strSrcPath);


	}


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值