设为首页 加入收藏

TOP

6.4.6 “页面设置”对话框
2013-10-07 00:01:15 来源: 作者: 【 】 浏览:57
Tags:6.4.6 页面 设置 对话

6.4.6 “页面设置”对话框
“页面设置”对话框提供了一个可以方便地设置页面属性的用户界面,可以通过它来设置纸张、页边距、打印方向等,也可以用它来调用“打印设置”对话框。图6-30给出了标准“页面设置”对话框。


图6-30 “页面设置”对话框

MFC的CPageSetupDialog类对“页面设置”对话框进行了封装,在程序中可以使用带参数的构造函数进行“页面设置”对话框的创建,该函数原型如下:
 
其中:
参数dwFlags是用来定制对话框设置的标志。
参数pParentWnd是指向对话框的父窗口或主窗口的指针。
CPageSetupDialog类提供了一个PAGESETUPDIALOG结构的成员变量m_psd,用户可以通过它来更改打印机设置。【实例6-3】  通用对话框展示
光盘路径  /06/ dialog_3/
实例目的  演示了Windows通用对话框的功能,并使用了定制的文件对话框类,使文件对话框中可以显示当前的系统时间。
1.创建工程
在IDE中依次选择“File”→“New”菜单命令,或直接按快捷键“Ctrl+N”,打开“New”对话框。
在“New”对话框中单击“Projects”选项卡,在列表框中选择“MFC AppWizard(.exe)”项,在“Project name”文本框中输入“dialog_3”,其他使用默认值,单击“OK”按钮,弹出“MFC AppWizard-Step1”对话框。
在“MFC AppWizard-Step1”对话框中,选中“Dialog based”单选按钮创建一个基于对话框的应用程序框架,其他使用默认值,然后单击“Finish”按钮,在弹出的“New Project Information”对话框中单击“OK”按钮,就可以完成工程的创建。如图6-31所示。


图6-31  创建一个基于对话框的应用程序框架

2.在对话框编辑器中添加按钮
选中“取消”按钮,按“Delete”键删除。同样的删除“在这里设置对话控制”文本。
在对话框中添加7个按钮控件。在如图6-2所示的客户区右侧浮动的Control工具栏中的“Button”控件按钮上单击,然后在对话框资源中按下鼠标左键拖动,出现一个按钮,松开鼠标左键,则在对话框资源中出现了一个“Button”控件。如图6-32所示。
3.修改按钮属性
将鼠标光标移动到对话框编辑器中需要编辑的按钮上,然后单击鼠标右键打开弹出式菜单,选择“Properties”属性,打开“Dialog Properties”对话框。对按钮分别进行设置。对象属性如表6-1所示。设置完成后如图6-33所示。


图6-32  在对话框中添加7个按钮控件   
 

图6-33  设置按钮属性

4.创建对话框类
为实现定制文件对话框,必须派生一个基于CFileDialog类的新类。
单击“Insert”菜单下的“New Class”菜单项,弹出“New Class”对话框
将“New Class”对话框设置为:设置“Class type”为“MFC Class”,“Name”为“FileDlgEx”,“Base Class”为“CFileDialog”。如图6-34所示。单击“OK”按钮完成新类的添加。
在IDE主菜单项中依次选择“View→ClassWizard”菜单项,打开“MFC ClassWizard”对话框,为类FileDlgEx和CDialog_3Dlg添加表6-2所示的消息。



通过工作区中的ClassView标签,在FileDlgEx类中添加一个CStatic型变量m_ctrSta:右键单击 “dialog_3 classes→FileDlgEx”条目,选中“Add Member Variable”菜单命令,在弹出的对话框中往Variable Type项中输入“CStatic”,在Variable Name项中输入m_ctrSta,单击“OK”按钮,添加变量成功。如图6-35所示。


图6-34  添加新类     
                 

  图6-35  添加变量

在CDialog_3.cpp文件头部输入以下代码,将定制对话框FileDlgEx类包含到文件中才能在程序中调用定制对话框。
#include "FileDlgEx.h"
在程序中添加代码。
在FileDlgEx::OnInitDialog()函数中输入以下代码:
 
 
这段代码在定制对话框初始化时,对对话框尺寸进行了设置,添加静态控件到对话框中,此外还设置了定时器。
在FileDlgEx::OnTimer()函数中输入以下代码:
 
这段程序会定时将获取的系统时间发送到前面所创建的静态控件中。
在CDialog_3Dlg::OnButopen()函数中输入以下代码:
 
这段程序创建一个定制的打开文件对话框,并将获取的文件名通过消息框显示出来。
在CDialog_3Dlg::OnButsave()函数中输入以下代码:
 
 
这段程序将创建一个定制的保存文件对话框,并将保存的文件名通过消息框显示出来。
在CDialog_3Dlg::OnButcolor()函数中输入以下代码:
 
这段程序将创建一个“颜色”对话框,并将获取的颜色十六进制值通过消息框显示出来。
在CDialog_3Dlg::OnButfind()函数中输入以下代码:
 
这段程序将创建一个替换对话框,并将要查找的字符串通过消息框显示出来。
在CDialog_3Dlg::OnButfont()函数中输入以下代码:
 
 
这段程序将创建一个“字体”对话框,并将返回的字体通过消息框显示出来。
在CDialog_3Dlg::OnButprint()函数中输入以下代码:
 
这段程序将创建一个“打印设置”对话框,并将获取的打印机通过消息框显示出来。
在CDialog_3Dlg::OnButpage()函数中输入以下代码:
 
这段程序将创建一个“页面设置”对话框,并将设置的页面大小通过消息框显示出来。
运行效果如图6-36所示。
单击任意一个按钮,都将弹出相应的对话框。例如我们单击“打开”按钮,出现如图6-37所示的“打开”对话框。


图6-36  运行效果图 
 

图6-37 “打开”对话框

单击“确定”按钮,退出程序。

【责任编辑:杨硕 TEL:(010)68476636-8001】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇6.6.4 创建向导对话框 下一篇6.2.5 创建对话框类

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: