VC学习资料收集(19):使用通用对话框
2004-12-21 03:37
603 查看
使用通用对话框
版权所有 闻怡洋
在Windows系统中提供了一些通用对话框如:文件选择对话框如图,颜色选择对话框如图,字体选择对话框如图。在MFC中使用CFileDialog,CColorDialog,CFontDialog来表示。一般来讲你不需要派生新的类,因为基类已经提供了常用的功能。而且在创建并等待对话框结束后你可以通过成员函数得到用户在对话框中的选择。 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 为父窗口指针。 创建文件对话框可以使用DoModal(),在返回后可以利用下面的函数得到用户选择: CString CFileDialog::GetPathName( ) 得到完整的文件名,包括目录名和扩展名如:c:/test/test1.txt CString CFileDialog::GetFileName( ) 得到完整的文件名,包括扩展名如:test1.txt CString CFileDialog::GetExtName( ) 得到完整的文件扩展名,如:txt CString CFileDialog::GetFileTitle ( ) 得到完整的文件名,不包括目录名和扩展名如:test1 POSITION CFileDialog::GetStartPosition( ) 对于选择了多个文件的情况得到第一个文件位置。 CString CFileDialog::GetNextPathName( POSITION& pos ) 对于选择了多个文件的情况得到下一个文件位置,并同时返回当前文件名。但必须已经调用过POSITION CFileDialog::GetStartPosition( )来得到最初的POSITION变量。 CColorDialog颜色选择对话框的使用:首先通过CColorDialog::CColorDialog( COLORREF clrInit = 0, DWORD dwFlags = 0, CWnd* pParentWnd = NULL )构造一个对象,其中clrInit为初始颜色。通过调用DoModal()创建对话框,在返回后调用COLORREF CColorDialog::GetColor( )得到用户选择的颜色值。 CFontDialog字体选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFontDialog::CFontDialog( LPLOGFONT lplfInitial = NULL, DWORD dwFlags = CF_EFFECTS | CF_SCREENFONTS, CDC* pdcPrinter = NULL, CWnd* pParentWnd = NULL );构造一个对象,其中参数lplfInitial指向一个LOGFONG结构(该结构介绍请见2.2 在窗口中输出文字),如果该参数设置为NULL表示不设置初始字体。pdcPrinter指向一个代表打印机设备环境的DC对象,若设置该参数则选择的字体就为打印机所用。pParentWnd用于指定父窗口。通过调用DoModal()创建对话框,在返回后通过调用以下函数来得到用户选择: void CFontDialog::GetCurrentFont( LPLOGFONT lplf );用来获得所选字体的属性。该函数有一个参数,该参数是指向LOGFONT结构的指针,函数将所选字体的各种属性写入这个LOGFONT结构中。 CString CFontDialog::GetFaceName( ) 得到所选字体名字。 int CFontDialog::GetSize( ) 得到所选字体的尺寸(以10个象素为单位)。 COLORREF CFontDialog::GetColor( ) 得到所选字体的颜色。 BOOL CFontDialog::IsStrikeOut( ) BOOL CFontDialog::IsUnderline( ) BOOL CFontDialog::IsBold( ) BOOL CFontDialog::IsItalic( ) 得到所选字体的其他属性,是否有删除线,是否有下划线,是否为粗体,是否为斜体。 |
相关文章推荐
- VC学习资料收集(3):谈新手对CString的使用
- VC学习资料收集(28):如何在MFC应用程序中使用MAPI32.DLL发送电子邮件
- VC学习资料收集(13):单独使用CRecordSet
- VC学习资料收集(22):如何获得Windows各类系统目录
- VC学习资料收集(25):获取硬盘ID信息及网卡MAC地址的代码
- 模式对话框和通用控件(『VC++技术内幕』学习笔记(9))
- VC学习资料收集(2):关于数据类型转换
- 学习使用DispatchAction (收集网上资料)
- VC学习资料收集(26):截获流经本机网卡的IP数据包
- Maven的学习资料收集--(三)使用Maven构建Web项目
- Maven的学习资料收集--(五)使用Maven构建Struts2项目
- Maven的学习资料收集--(五)使用Maven构建Struts2项目
- VC学习资料收集(9):应用层截包方案与实现
- VC学习资料收集(16):Visual C++中的ODBC编程实例
- VC学习资料收集(10):udp服务器设计过程总结
- VC学习资料收集(17):实战VC时间控制函数
- VC学习资料收集(4):设计XP风格的按钮
- VC学习资料收集(12):VC小知识总结
- VC学习资料收集(18):VC ++ 如何取出系统时间
- 自己收集的资料 仅供学习使用——————Android反编译(经验证)