1简要
MFC提供公用对话框类包括以下几种:
CColorDialog类: 用于选择颜色对话框
CFileDialog类: ........实现打开和保存文件对话框
CFindReplaceDialog类: ........查找和替换文本
CFontDialog类: .........选择字体对话框
COleDialog类: .........该类及其派生类用于生成OLE应用程序对话框
CpageSetupDialog类: ..........OLE Page Setup(指定页面设置和打印边界)
CPrintDialog类: ..........打印和打印设置对话框
2 文件打开对话框
简要
首先在堆栈上构建一个CFileDialog类的对象,然后调用CFileDialog::DoModal()函数创建并显示对话框
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 为父窗口指针。
<例子>
创建新工程Dialog,在菜单资源添加为“打开文件对话框”的菜单,ID为ID_FILEIO_DLG_OPEN,再添加菜单命令的的“打开文件对话框”的COMMAND命令消息处理函数,为OnFileioDlgOpen,代码如下:
效果如下:

3 文件保存对话框
创建新工程Dialog,在菜单资源添加为“保存文件对话框”的菜单,ID为ID_FILEIO_DLG_SAVE,再添加菜单命令的的“打开文件对话框”的COMMAND命令消息处理函数,为OnFileioDlgSave,代码如下:
效果如下:

4、颜色对话框
简要
首先在堆栈上构建一个CColorDialog类的对象,然后调用CColorDialog::DoModal()函数创建并显示对话框
构造函数CColorDialog
CColorDialog( COLORREFclrInit= 0, DWORDdwFlags= 0, CWnd*pParentWnd= NULL );
clrInit默认颜色选择。 如果未指定任何值,则默认值为RGB (0,0,0) (黑色)。
dwFlags 自定义对话框的功能和外观的设置标志。
pParentWnd 指针到对话框的父级或所有者窗口。
<例子>
创建新工程Dialog,在菜单资源添加为“颜色设置”的菜单,ID为ID_GRAPH_CLRSET,再添加菜单命令的的“打开文件对话框”的COMMAND命令消息处理函数,为OnGraphClrset,
在CDialogView.h头文件中声明一个COLORREF类型变量m_clr来保护用户设置的颜色,然后在CDialogView构造函数中对m_clr初始化,m_clr = REG(0,255,255)代码如下:
效果如下:

5 字体对话框
简要
首先在堆栈上构建一个CFontDialog类的对象,然后调用CFontDialog::DoModal()函数创建并显示对话框
构造函数CFontDialog
CFontDialog(LPLOGFONT lplfInitial = NULL , DWORD dwFlags = CF_EFFECTS | CF_SCREENFONTS , CDC* pdcPrinter = NULL , CWnd* pParentWnd = NULL); lplfInitialLOGFONT结构指针,用于设置默认的字体 dwFlags用于控制对话框的行为 pdcPrinter打印机设备内容指针 pParentWnd“字体”对话框父窗口指针
<例子> 步骤1:创建新工程Dialog,在菜单资源添加为“字体设置”的菜单,ID为ID_GRAPH_FONTSET,再添加菜单命令的的“打开文件对话框”的COMMAND命令消息处理函数,为OnGraphFontset 步骤2:在CDialogView.h头文件中声明一个CFont类型的变量m_font,用来存储字体对话框设置的字体, 步骤3:在CDialogView.h头文件中声明一个CString类型的变量m_fontName,用来保存字体对话框设置的设置字体的名称, 代码如下: 效果如下:

6 查找对话框
创建新工程Dialog,在菜单资源添加为“查找”的菜单,ID为ID_EDIT_FIND,再添加菜单命令的的“打开文件对话框”的COMMAND命令消息处理函数,为OnEditFind,代码如下: 效果如下:

7 页面设置对话框
创建新工程Dialog,在菜单资源添加为“页面设置”的菜单,ID为ID_BUTPAGE,再添加菜单命令的的“打开文件对话框”的COMMAND命令消息处理函数,为OnButpage,代码如下:
效果如下:

8 打印对话框
<例子> 创建新工程Dialog,在菜单资源添加为“打印对话框”的菜单,ID为ID_ONBUTPRINT,再添加菜单命令的的“打开文件对话框”的COMMAND命令消息处理函数,为OnOnbutprint,代码如下:
效果如下:
