登陆注册
36209800000022

第22章 对话框的使用与设计(3)

FromPage和ToPage属性指定打印的起始页码和终止页码。这两个属性为直接输入型属性,其默认值都为0。

4)MaxPage和MinPage属性

MaxPage和MinPage属性决定能输入的最大和最小的打印页数。这两个属性为直接输入型属性,其默认值都为0。

5)Options属性

Options属性决定对话框的外观和行为。该属性为集合型属性,包含6个子属性,其值为True时的含义如表8-7所示。

6)PrintRange属性

PrintRange属性指明对话框中选定的打印范围。该属性为枚举性属性,有3种取值,分别对应对话框中的3种可能的选择:

prAllPage--打印所有页,【全部】单选按钮被选中;prPageNums--按页码打印指定页,【页码范围】单选按钮被选中(MinPage=0);prSelection--选择打印指定页,【选定范围】单选按钮被选中。

7)PrintToFile属性

PrintToFile属性决定【打印到文件】复选框是否被选中。该属性为布尔型属性,其值为True时,【打印到文件】复选框被选中,其默认值为False。

显然,要通过打印机正常打印,【打印到文件】复选框不能被选中。

PrintDialog组件没有特殊的方法与事件。

8.3.10PrinterSetupDialog(打印机设置对话框)组件

PrinterSetupDialog组件的图标为。

调用PrinterSetupDialog组件的Execute方法,打开的【打印设置】对话框如图8-17所示。

【打印设置】对话框用于选择打印机,设置打印的属性,如纸张的大小、打印的方向等。

PrinterSetupDialog组件没有需要说明的属性,它的Execute方法的使用也和其他通用对话框组件一样。

8.4对话框的设计

如前所述,对话框也是一种窗口。因此,除了使用以上两种对话框,还可以根据需要,用设计窗体的方法,自己设计对话框。

本节将分别介绍模态对话框和非模态对话框的设计。

8.4.1模态对话框的设计

显示模态对话框要调用窗体的ShowModal方法。这里通过一个实例说明模态对话框的设计步骤。

例8-1设计一个模态对话框。

(1)执行【File】→【New】→【Application】菜单命令,新建主窗体Form1。

(2)设置主窗体属性,如表8-8所示。

(6)向对话框窗体添加组件并设置属性。

添加两个复选框CheckBox组件、两个位图按钮BitBtn组件,组件属性设置如表8-11所示。

这里使用了位图按钮,它的类型由其Kind属性决定。不同类型的位图按钮,其外观不同,单击后都关闭按钮所在的窗体,而返回值不同,如BitBtn1的Kind属性为mbOK,返回mrOK,BitBtn2的Kind属性为mbCancel,返回mrCancel。

设置了窗体和组件属性的对话框窗体如图8-19所示。

(7)编写程序代码。

根据程序功能要求,单击【显示控制】按钮,显示【显示控制】模态对话框。在对话框中,通过复选框选择要显示的文本,若单击【确定】按钮,关闭对话框,返回mrOK,主窗体按选择的文本显示;若单击【取消】按钮,关闭对话框,返回mrCancel,主窗体仍显示原来的文本。

因此,单元文件Unit1的程序代码为:

主窗体调用对话框窗体,所以Unit1文件的implementation段中加usesUnit2。

为记忆原来显示的文本,定义两个变量old1、old2。

对话框为模态对话框,所以对话框的显示用ShowModal方法。

单击【显示控制】按钮,显示对话框,所以选择Button1的OnClick事件。

于是单元文件Unit1的部分代码为:

(8)保存文件Unit1、Unit2、Project1。

(9)运行程序。

单击工具栏中的【Run】按钮,显示主窗口,如图8-20所示。

单击【显示控制】按钮,打开【显示控制】对话框,如图8-21所示。

在对话框中,两个复选框都不选或只选一个复选框,单击【确定】按钮,则返回主窗口后按新选择显示文本,图8-22即为只选一个复选框的显示。

而在对话框中,无论怎样选择,单击【取消】按钮,主窗口仍显示原来的文本。

打开对话框后,如果不关闭对话框,就不能切换到主窗口去,这正是模态对话框的特点。

8.4.2非模态对话框的设计

显示非模态对话框要调用窗体的Show方法,因为Show方法是过程,所以非模态对话框没有返回值。这里也通过一个实例说明非模态对话框的设计步骤。

例8-2设计一个非模态对话框。

(1)执行【File】→【New】→【Application】菜单命令,新建主窗体Form1。

(2)设置主窗体属性,如表8-12所示。

(3)向主窗体中添加组件并设置组件属性。

添加两个标签Label组件、一个按钮Button组件,组件属性设置如表8-13所示。

(4)执行【File】→【New】→【Form】菜单命令,新建对话框窗体Form2。

(5)设置对话框窗体属性,如表8-14所示。

(7)编写程序代码。

根据程序功能要求,单击【字体样式】按钮,显示【字体样式】非模态对话框。在对话框中,通过复选框选择字体样式,“字体样式显示示例”按选择的字体样式显示,这时若单击【应用】按钮,主窗体按选择的字体样式显示;若单击【取消】按钮,主窗体仍按原来的字体样式显示。

因此,程序代码为:

主窗体调用对话框窗体,所以Unit1文件的implementation段中加usesUnit2。

对话框为非模态对话框,所以对话框的显示用Show方法。

单击【字体样式】按钮,显示对话框,所以选择Button1的OnClick事件。

于是单元文件Unit1的部分代码为:

单击【应用】按钮,主窗口文本应按对话框选择的字体样式显示,所以【应用】按钮的OnClick事件处理过程代码为:

procedureTStyleDlg.BitBtn1Click(Sender:TObject);

begin

Form1.Label1.Font.Style:=Label1.Font.Style;

Form1.Label2.Font.Style:=Label1.Font.Style;

end;

单击【取消】按钮,字体样式选择不起作用,所以不响应该按钮。

(8)保存文件Unit1、Unit2、Project1。

(9)运行程序。

单击工具栏中的【Run】按钮,显示主窗口,如图8-25所示。

单击【字体样式】按钮,打开【字体样式】对话框,如图8-26所示。

在对话框中,两个复选框都选或只选一个复选框,“字体样式显示示例”按选择的字体样式显示,对话框如图8-27所示。

这时主窗口的文本显示不受影响,只有当单击【应用】按钮时,主窗口文本才会按新选择字体样式显示,如图8-28所示。

因为对话框为非模态,所以不关闭对话框,也可以将主窗口切换为当前窗口。

习题8

1.Delphi有几种标准对话框?各如何使用?

2.在程序中如何打开Delphi对话框组件的对话框?

3.模态对话框和非模态对话框有什么区别?设计模态对话框和非模态对话框的主要不同之处在什么地方?

4.设计一个应用程序,单击其上的【登录】按钮,弹出【登录】对话框,要求输入用户的姓名、口令信息;若两项都输入了,单击对话框的【确定】按钮,对话框关闭;若只输入了一项,弹出“输入数据不全”的消息框。

同类推荐
  • 初级会计电算化

    初级会计电算化

    本书是作者根据历年会计从业资格考试的考试大纲以及多年对真题的分析,并结合多为专家、学者的实践经验而编写的。本书主要分为八套模拟试卷,以对考生考前的学习进行模拟实战,达到提高考生成绩的目的。
  • 组态软件控制技术

    组态软件控制技术

    监控组态软件是完成数据采集与过程控制的专用软件,它以计算机为基本工具,为实施数据采集、过程监控、生产控制提供了基础平台和开发环境。本书从应用角度出发,详细介绍了组态软件应用程序的开发过程。对窗口界面编辑、动画链接、实时和历史趋势、安全机制、I/O设备连接,以及生产应用等内容都做了非常详细的介绍。MCGS是优秀的监控组态软件之一,它功能强大、使用方便,可以非常容易地实现监视、控制、管理的各项功能,并可提供软、硬件的全部接口,方便、快速地进行系统集成,构成不同需求的数据采集与监控系统。本书可作为高等学校计算机应用、自动控制、电子技术、机电技术专业的教材,同时还可作为相关专业工程技术人员的自学用书。
  • SEO智慧

    SEO智慧

    本书不仅是系统讲述搜索引擎优化(SEO)的原理、技法、思维、经验的畅销作品,而且论述了市场学、营销学、心理学怎样与搜索营销形成综合战略的经典著作。从说明网站的搭建该怎样围绕搜索引擎优化开始,到网站优化的具体策划和技术细节,再到搜索营销的持续开展,说明打造投资回报率高的网站应该怎样具备必需的搜索营销思维和战略做法,是作者12年网站营销经验,特别是搜索引擎优化(SEO)实现营销方面的技术和实践总结。
  • 不懂PowerPoint就当不好经理

    不懂PowerPoint就当不好经理

    经理人如何用PowerPoint,来规划部门的发展,如何用PowerPoint来表达自己的经营主张?本书为各类经理人提供了从入门到提高,从原理到实战的一系列知识,相信本书将让演示文稿为经理人的管理效能加分!
  • 数字博物馆研究与实践:2009

    数字博物馆研究与实践:2009

    本书汇集了“2009年北京数字博物馆研讨会”与会代表提交的60余篇论文和演讲报告、应用案例,分为数字博物馆(科技馆)发展研究探讨、数字博物馆(科技馆)多样性发展模式、数字技术在博物馆(科技馆)展陈中的应用、数字博物馆(科技馆)建设实践、数字博物馆(科技馆)实现技术和数字博物馆调研报告等六个部分。本书内容囊括了对数字博物馆(科技馆)建设宏观层面的全局思考以及微观层面的具体实践。在宏观层面,介绍了数字博物馆(科技馆)在国内外的发展现状与趋势,通过剖析典型案例,探讨数字博物馆(科技馆)建设的意义、目标、作用、建设原则、要素、特征及目前建设工作中存在的现实问题与对策。
热门推荐
  • 爆款机甲

    爆款机甲

    这是超越时代的智能机甲横行的世界,这是宇宙中人类科技发展至巅峰的时代。精品机甲是只有少数人才能拥有的珍宝,普通人就不要有什么幻想啦。可林献喜欢好东西大家分享,他的爆款机甲系统,打造精品机甲,爆款出品,必属爆品。“我只想安静的开个小店,可惜疯狂的抢购者把我店门挤破了。”星际贸易大鳄:“店长,我想买个开天战甲。”林献:“好吧,星际垄断贸易我要拿三成。”星辰帝国公主:“老板,这台星辰级战甲帮我改造下呗。”林献:“哦,改造费不高,陪我吃顿饭就好。”星际盗贼,抠脚大汉:“老板,我也可以陪你吃饭、聊天、看星星……”林献:“来人,把他拖出去!”读者群:331056169,欢迎莅临,随你喜欢……
  • 草灵之命

    草灵之命

    一对人妖恋,先死的却是妖,痛苦的却是人。这一切既是冥冥之中早已注定的安排,也是他们自己的选择。不怨天不怨地,也不选择怨自己。生活中诸多美好的回忆,唯一遗憾的估计就是此生此世负了你。本该简单幸福的生活无意间却牵扯到了主角线,那么问题来了“我究竟是主角呢?还是一个炮灰NPC?”简单的恋情迁出了无数的情爱故事,更是牵扯到了前世今生来世的恩恩怨怨。
  • 玉都迷雾

    玉都迷雾

    在纸醉金迷的玉都,隐藏了多少不为人知的秘密?在华丽光鲜的背后,有着多少辛酸苦楚?一块玉石,背后是人性的挣扎与拷问。
  • 上古灵晶

    上古灵晶

    南天镇的一名少年,身为最强体质,最强血脉!寻找上古灵晶!晋升千年丹帝!成就万古帝王!
  • 天黑,求推倒

    天黑,求推倒

    南柯小心翼翼的跟踪顾瑾言到了酒吧,只见他毫无反抗的任由一个穿着火热的女人撩拨。“怎么,你是来找我的吗?”怒瞪那个女人,挤到了他的身边,然后挑眉傲然的看着他。只见他浅笑一声,搂住她的腰肢,桎梏住她的双手,在她目瞪口呆的目光中,柔情一吻。“不然我怎么引你出来。南柯,我愿意承担所有的后果,只求你不再离开。你安好,我下地狱又何妨?”(1vs1,身心健康,绝不放手~)
  • 旧拾光

    旧拾光

    一段青涩学生时代未完待续的恋爱,一场和青春有关的重逢,有些感情,当你若干年后再次回望,终究还是会为自己鼓掌。和自己的初心一同走下去,原来是如此的幸运。
  • 恋上凡界王子

    恋上凡界王子

    “放手!我不是你要找的人!你认错了!”“不会的!她的手臂上有一个印记,雪花状的,你看!你的手臂上也有,这不会错的,一定是你!你还在逃避么?那次是为了你好,才欺骗你的,下回我一定不会了!……不对,是没有下回了!原谅我好么?”“不是我不原谅你,只是这次的任务比上次更危险!这次可能会失去生命!我不想你也卷进来!其实,我在很早以前,,就已经爱上你了,只是,那时不能告诉你,不然你会有生命危险,这次我不会让你在受到任何一点伤害了!虽说不应该是我保护你,但,这可能是我最后一次能为你做的了!如果我遇到不测,你一定要替我好好活下去!”
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 龙魂影魄

    龙魂影魄

    一名失忆并能力被封印的全系异能者,恢复记忆和能力后,带领着国之利刃“龙影”经过数次危险的战斗成为异能界的“神之队”,一直无法战胜的队伍!
  • 了斋—粉胭若脂

    了斋—粉胭若脂

    一群十五六岁的孩子,他们看似平凡却热闹的故事里,总有一些大人无法理解的秘密,景兮被邪意笼罩着的梦境,谁能将他解救出来?“姐姐,青蜓去哪里了?”梦里那个叫做薜梨的女孩是否可以不再恨他。景兮从来都不记得自己还有一个姐姐,直到她的出现,也掀开了一个从未被提起的秘密,原来他和姐姐注定不能共存,是命运相克还是天意弄人,兜兜转转的俗尘里,他们是否还可以牵手走向明天呢?