您现在的位置:首页 >> 前端 >> 内容

VS2010&MFC对话框编程(4)——通用对话框

时间:2017/9/13 10:33:00 点击:

  核心提示:1简要MFC提供公用对话框类包括以下几种:CColorDialog类: 用于选择颜色对话框CFileDialog类: ........实现打开和保存文件对话框CFindReplaceDialog类: ...

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,代码如下:

效果如下:

VS2010&amp;MFC对话框编程(4)——通用对话框

3 文件保存对话框

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

效果如下:

VS2010&amp;MFC对话框编程(4)——通用对话框

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)代码如下:

效果如下:

VS2010&amp;MFC对话框编程(4)——通用对话框

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,用来保存字体对话框设置的设置字体的名称, 代码如下: 效果如下:

VS2010&amp;MFC对话框编程(4)——通用对话框

6 查找对话框

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

VS2010&amp;MFC对话框编程(4)——通用对话框

7 页面设置对话框

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

效果如下:

VS2010&amp;MFC对话框编程(4)——通用对话框

8 打印对话框

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

效果如下:

VS2010&amp;MFC对话框编程(4)——通用对话框

Tags:VS S2 20 01 
作者:网络 来源:qq_3465508