CFileDialog的用法简介

转自:http://blog.csdn.net/demok2010/article/details/5957523

CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: 
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 为父窗口指针。

CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目录名和扩展名如:c:/test/test1.txt 
CString CFileDialog::GetFileName( ) 得到完整的文件名,如:test1
CString CFileDialog::GetExtName( ) 得到完整的文件扩展名,如:txt 
CString CFileDialog::GetFileTitle ( ) 得到完整的文件名,包括目录名和扩展名如:test1.txt 
POSITION CFileDialog::GetStartPosition( ) 对于选择了多个文件的情况得到第一个文件位置。 
CString CFileDialog::GetNextPathName( POSITION& pos ) 对于选择了多个文件的情况得到下一个文件位置,并同时返回当前文件名。但必须已经调用过POSITION CFileDialog::GetStartPosition( )来得到最初的POSITION变量。

VC++ CFileDialog 读取多个文件

CFileDialog dlg(TRUE, 
    "DEM Files (*DEM)", 
    NULL, 
    OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT |OFN_ALLOWMULTISELECT|OFN_ENABLESIZING,
    _T("Layer Files (*.DEM;*.TIFF;*.BMP;*.JPG)|*.DEM;*.TIFF;*.BMP;*.JPG;)||"),
    NULL);
dlg.m_ofn.lpstrTitle="请加载相关图层";
//最多可以打开100个文件
dlg.m_ofn.nMaxFile = 100 * MAX_PATH; 
dlg.m_ofn.lpstrFile = new TCHAR[dlg.m_ofn.nMaxFile];  
ZeroMemory(dlg.m_ofn.lpstrFile, sizeof(TCHAR) * dlg.m_ofn.nMaxFile);

//显示文件对话框,获得文件名集合
int retval = dlg.DoModal();
if(retval==IDCANCEL)
return false;
POSITION pos_file;
pos_file = dlg.GetStartPosition();
CArray<CString, CString> ary_filename;
    while(pos_file != NULL)
ary_filename.Add(dlg.GetNextPathName(pos_file));

//根据扩展名读取相关文件
for(int i=0; i<ary_filename.GetSize(); i++)
{
CString str_ext;
str_ext = ary_filename.GetAt(i).Right(3);
if((str_ext == "DEM")||(str_ext == "dem"))
{
}
else if((str_ext == "TIFF")||(str_ext == "tiff"))
{
}
else if((str_ext == "BMP")||(str_ext == "bmp"))
{
}
else if((str_ext == "JPG")||(str_ext == "jpg"))
{
}
else if((str_ext == "SHP")||(str_ext == "shp"))
{
}

return true

时间: 2024-10-11 22:40:05

CFileDialog的用法简介的相关文章

压力测试工具tsung用法简介

tsung是用erlang开发的一款简单易用的压力测试工具,可以生成成千上万的用户模拟对服务器进行访问.目前对tsung的理解也仅限于会简单的应用,其内部结构没有深入研究过. 1.安装 tsung是用erlang编写的,所以首先安装erlang的运行环境.然后就是按照tsung的官网下载编译tsung.需要注意的是,生成测试报告需要gnuplot和perl的支持,其中perl需要安装Template扩展.具体安装过程请看相关手册或者google之. 2.配置文件 默认情况下,tsung会加载配置

display:table-cell的用法简介

display:table-cell的用法简介:display属性的使用相当频繁,比如display:block或者display:inline等,但是对于display:table-cell可能比较陌生,因为此属性在特定的情况下会发挥很大的作用,下面就简单介绍它的作用,先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="a

Intent用法简介

Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递.通过其自带的属性,其实可以方便的完成很多较为复杂的操作.例如直接调用拨号功能.直接自动调用合适的程序打开不同类型的文件等等.诸如此类,都可以通过设置Intent属性来完成. Intent主要有以下四个重要属性,它们分别为:            Action:Action属性的值为一个字符串,它代表了系统中已经定义了一系列常用的动作.通过setAction()方法或在清单文件AndroidManifest.xm

qss(stylesheet)用法简介(一)

QPushButton按钮evilButton  { background-color: red } QPushButton#evilButton { background-color: red; border-style: outset; border-width: 2px; border-color: beige; } QPushButton#evilButton { background-color: red; border-style: outset; border-width: 2px

grep用法简介之二

上一篇文章总结了一些grep基本用法.在这次的内容里介绍grep和正则表达式结合使用的方法. 首先介绍下正则表达式,正则表达式非基本和扩展两种. 名词释义:正则表达式:正则表达式其实就是描述某些复杂规则字符串的代码集合. 元字符:在正则表达式中具有特殊意义的专用字符 正则表达式 基本正则表达式元字符: ^ :表示行首    $ :表示行尾      ^$:表示空白行      * :表示星之前字符的0个或任意个字符,例如:a*:表示0个a或任意一个a的字符,所以就是全显示出来了.      .

grep用法简介之一

grep是Linux中个非常重要也是经常使用的文本搜索工具,最近又回顾学习了一遍,趁热自己总结一下. Linux中关于grep的命令一共有三个(以centos6.4为例) grep  :只支持基本正则表达式 egrep :支持扩展正则表达式,此命令其实是 "grep -E" 的别名 fgrep : 不支持正则表达式,搜索速度在3个命令中最快. grep命令用法格式: grep [OPTIONS] PATTERN [FILE...] 主要参数 --color=auto :使匹配的字符用彩

排序函数sort用法简介

排序算法有很多,冒泡排序,选择排序,堆排序,快速排序,归并排序,基数排序-- 其中平均复杂度O(nlogn)的排序算法或者在某方面有特殊优势的算法在ACM中才有实际使用价值,所以上述提到的前2种大家以后就不要用了.其他排序算法大家会慢慢接触,本文主要介绍使用最多的排序函数 sort.大家可能会遇到qsort,qsort比较复杂,逐渐淡出ACMer的视线,所以不用管它. sort函数是C++标准库函数,需要包含头文件 #include <algorithm> 并声明命名空间 using name

CFileDialog的用法

CFileDialog 在MSDN中的函数原形 CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL 参数解释: bOpenFileD

Android中Toast的用法简介

转自:http://www.cnblogs.com/GnagWang/archive/2010/11/26/1888762.html Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失.下面用一个实例来看看如何使用Toast. 1.默认效果 代码 Toast.makeText(getApplicationContext(), "默认Toast样式",     Toast.LEN