文档详情

3.3 MFC文件对话框驱动.ppt

发布:2017-06-14约2.29千字共10页下载文档
文本预览下载声明
* * 第三讲 MFC对话框编程---- 文件对话框驱动 辽宁工程技术大学测绘学院 测量程序设计 第四节 MFC文件对话框的驱动 测量程序设计 结合测绘科研项目具体需求的案例:水准网平差软件驱动的效果如下所示: 测量程序设计 驱动文件对话框的类 CFileDialog 1、CFileDialog的构造函数 CFileDialog::CFileDialog( BOOL???? bOpenFileDialog, LPCTSTR???? lpszDefExt=NULL, LPCTSTR???? lpszFileName=NULL, DWORD???? dwFlags???? =?OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, LPCTSTR???? lpszFilter=NULL, CWnd???? *???? pParentWnd=NULL ); 第四节 MFC文件对话框的驱动 测量程序设计 bOpenFileDialog:TRUE为打开文件对话框;FALSE为保存文件对话框 lpszDefExt:缺省的扩展名,默认选择NULL lpszFileName:缺省显示在文件名组合框的编辑框的文件名,一般可选NULL dwFlags:对话框风格,一般为OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, 即隐藏只读选项和覆盖已有文件前提示。 lpszFilter:文件筛选类型,它指明可供选择的文件类型和相应的扩展名。参数格式如: “文本文件(*.txt)|*.txt|所有文件 (*.*)|*.*||;文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。 pParentWnd:父窗口指针,一般可选NULL。 第四节 MFC文件对话框的驱动 测量程序设计 成员函数: 驱动模式对话框使用DoModal(),在返回后可以利用下面的函数得到用户选择: CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目录名和扩展名如:c:\ test\ test1.txt CString CFileDialog::GetFileName( ) 得到完整的文件名,包括扩展名如:test1.txt CString CFileDialog::GetExtName( ) 得到完整的文件扩展名,如:txt CString CFileDialog::GetFileTitle ( ) 得到完整的文件名,不包括目录名和扩展名如:test1 第四节 MFC文件对话框的驱动 测量程序设计 成员函数: POSITION CFileDialog::GetStartPosition( ) 对于选择了多个文件的情况得到第一个文件位置。 CString CFileDialog::GetNextPathName( POSITION pos ) 对于选择了多个文件的情况得到下一个文件位置,并同时返回当前文件名。但必须已经调用过POSITION CFileDialog::GetStartPosition( )来得到最初的POSITION变量。 第四节 MFC文件对话框的驱动 测量程序设计 第四节 MFC文件对话框的驱动 {   CString StrName;   CFileDialog dlg(TRUE);//TRUE为OPEN对话框,FALSE为SAVE AS对话框   if(dlg.DoModal()==IDOK)   StrName=dlg.GetPathName(); } //在控制台和MFC下分别演示。 测量程序设计 2、水准网平差驱动文件对话框(菜单消息映射函数) void CMainFrame::OnMENUSZWPC() {// CSzwpc m_p;//定义水准网数据处理类的类对象 CFileDialog FileDlg(TRUE,NULL,*.txt,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,水准网据文件名(*.txt)|*.txt|所有文件(*.*)|*.*||); FileDlg.m_ofn.lpstrTitle=“打开水准网平差数据文件”;//对话框标题 if(FileDlg.DoModal()==IDOK)//对话框驱动成功 { CString StrFile=FileDlg.GetPathName();//文件名与路径 // m_p.ReadData(StrFile);//读水准网数据文件函数 AfxMessageBox(水准网数据读入完毕!); } } 第四节 MFC文件对话框的驱动 多媒体现场演示代码编
显示全部
相似文档