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

同类推荐
  • 计算机网络技术与应用

    计算机网络技术与应用

    本书共8章,系统地介绍了计算机网络的发展和基本原理体系结构、局域网、广域网、网络服务、网络安全、典型网络的结构特点等内容。除第8章外,其他各章都附有练习题。为了加强学习效果,本书围绕知识点的典型性,精选了6个实验。此外,在本书的第8章,我们综合各章知识设计了“办公局域网组建设计”和“中小型企业局域网组建设计”这两个常用的计算机网络技术应用实例,供学生学习和参考。本教材适合作为本科非计算机专业学生的计算机网络教材。
  • 微软360度

    微软360度

    本书是由微软总部华人协会组织编写的第二本书,是《微软360度——企业和文件》一书的姐妹篇,本书将着重向你呈现微软总部的华人专家是如何一步一步地走向成功的及在微软总部成功的心路历程,以及如何应对挑战,揭示了微软成功的最重要秘密之一——人才至上,读者读后收获更多的是这些成功人士的成功经验,从而为自己的成功做出更好的规划。就让我们一起通过此书来看看微软公司人才至上管理的方方面面,聆听微软的心声,感觉微软的脉动吧。
  • 中国移动智能手机的秘密

    中国移动智能手机的秘密

    《中国移动智能手机的秘密》是一本关于移动终端和移动互联网的科普书。作者将这18年通信行业中的学习、思考、实践积累成《中国移动智能手机的秘密》与大家分享。书本系统总结了手机的发展历史、TD产业界“从2G向3G演进”的移动终端产业分化重组进程、智能手机的使用方法用方法和应用指南,以及对移动互联网发展独特思考。
  • 中文版AutoCAD2005建筑绘图精讲精学

    中文版AutoCAD2005建筑绘图精讲精学

    本书从中文版AutoCAD2005建筑绘图的基础进行介绍,讲解了建筑绘图的环境设置、二维建筑图形的绘制、二维建筑及装饰图形的编辑、建筑绘图中的文字标注和图形查询、建筑装潢平面图中的尺寸标注、建筑绘图中图块的应用、建筑平面图的绘制、建筑立面图的绘制、建筑剖面图的绘制、建筑绘图中的三维造型、三维建筑模型绘制及建筑图纸的布局与打印输出等内容。
  • 研究性学习丛书-电脑知识

    研究性学习丛书-电脑知识

    本书对电脑知识有一个全面详细的介绍,会对读者的电脑知识进行提高。
热门推荐
  • 天行

    天行

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

    雇你万分柔情

    清点夜墨爵这辈子做过最开心的几件事:1.认识了华国总统的女儿夏眠眠,2.结实了帝都第一名媛夏眠眠,3.为网红“我的眠眠眠”狂刷礼物,4.陪游戏大佬“砍到你怀疑人生”打游戏,5.陪女朋友一起虐渣,6.和老婆大人一起开开心心过日子,外加撒狗粮,7.……所有人:……敲重点:【逆袭/重生/高甜无虐】
  • 我成了黄巾力士

    我成了黄巾力士

    九世大善人林扬穿越到图腾大陆,此地人以图腾为原力,或用于生活或用于交锋。而林扬便成为了一个,一条,一只,或者一根图腾神灵。“这是什么?跳大神?呀灭的,我不要啊”“看在你这么崇拜我的份上,我就努力朝着最强图腾神灵进发吧!”林扬用精神交流着眼前流着哈喇子的四岁小屁孩道。
  • 封印的女孩们

    封印的女孩们

    三位千金小姐本出生在名门望族,却因为为了躲避婚约。隐性埋名用特优生的身份进入了皇家贵族学院——厉晴学院。本想平凡的过一生,但事与愿违。等待她们的却是一场场阴谋。众叛亲离,让原本善良,美好的她们变得嗜血,冷漠,冷血。事实会改变吗?她们会幸福吗?
  • 我老婆是大当家

    我老婆是大当家

    别人穿越当王爷,做王子,陈小刀却成了一个山贼;别人当山贼对美女说“跟我回去做压寨夫人吧!”陈小刀却当了人家的压寨姑爷。当你老婆是山贼的大当家,这可怎么好?
  • 我在台北,你在疆内

    我在台北,你在疆内

    缘起纯粹,洁净无暇的爱情开端,却躲不过世人的窥私心理,无数人围观/被曝光在光天化日之下的爱情海能不能维持最初的纯粹,在那遥远的世外桃源,人心和爱情做了一场公开的较量。
  • 开局三个愿望

    开局三个愿望

    一位住在深山的老人,三次向无尽宇宙许愿的机会。
  • 高坡异纂

    高坡异纂

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。
  • 豪门总裁的替爱妻

    豪门总裁的替爱妻

    她,酒吧里的一个孤苦无依的陪酒女。他,京城皇城脚下最年轻有势的权贵,跨国集团的总裁。他买,她卖。原本以为幸福就在面前,转眼却变成一场骗局。原来,她不过是他一个替身,既然注定要在深渊中挣扎,那么就一同下地狱吧。
  • 神隐少女鱼宁

    神隐少女鱼宁

    拥有“背叛”之名的神女被遗弃到人间自生自灭,然而无论在哪里,命运都是殊途同归的。因为这一切冥冥之中自有注定……二十年前的一个荒诞的预言,给数百年来唯一盘踞在神武大陆上且日益繁荣强盛的开元帝国带来的一场空前绝后的灾难。帝王之心对王权的眷恋,因为这个预言变得丑陋不堪。因运而生的少女牵扯入这风云涌动之中。平凡如她该如何保全自己?最伟大的爱应该是牺牲吗?那因爱而生的灵魂需要继续牺牲下去吗?