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

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

    初级会计电算化

    本书是作者根据历年会计从业资格考试的考试大纲以及多年对真题的分析,并结合多为专家、学者的实践经验而编写的。本书主要分为八套模拟试卷,以对考生考前的学习进行模拟实战,达到提高考生成绩的目的。
  • 领导干部信息化基础

    领导干部信息化基础

    本书共分6章,分别介绍了计算机网络综述;信息化的三个主要领域,即电子政务(政府信息化)、企业信息化和电子商务;PowerPoint2000中文演示文稿等内容。
  • 中文版AutoCAD2011基础与应用案例教程

    中文版AutoCAD2011基础与应用案例教程

    本书采用项目教学方式,通过大量案例全面介绍了AutoCAD2011软件的功能和应用技巧。全书共分8个项目,内容涵盖AutoCAD2011基本操作,绘制与编辑图形,标注尺寸,添加文字注释与应用表格,创建与应用块,绘制与编辑三维图形,图形输出等。
  • 从平凡到神奇

    从平凡到神奇

    本书结合多年的开店经验,全面地讲解了在淘宝网开设店铺的相关知识,为准备在淘宝网创业的卖家及刚刚创建店铺的店主,提供全面的开店和经营方面的指导。本书按照淘宝开店的流程安排内容,侧重每个步骤中的实际技巧。本书分3个部分:如何在淘宝开店、如何开好店、如何做强做大店铺。前3章介绍了在淘宝网开设店铺的基础知识,指导读者在开设店铺前做好准备工作,以及建立起自己的店铺,并且完成店铺的第一笔交易;第4章至第7章主要介绍了网店装修和推广的方法,以及网店的物流经验和技巧;第8章着重介绍了将网店做大做强的方法,帮助卖家在开店和经营中树立品牌意识,做大做强自己的店铺。
  • 现代企业财务软件应用教程

    现代企业财务软件应用教程

    本书内容包括财务软件概论、系统管理、企业应用平台、总账管理、报表管理、薪资管理、固定资产管理、应收款管理、应付款管理等。
热门推荐
  • 我的幸福还给我

    我的幸福还给我

    从一开始,我们的相识就是一个错误,我们本不该相识,本不属于同一个世界,可是为什么还要我离不开你…………你想要自由我给不了你……
  • 七国神级熊孩子

    七国神级熊孩子

    发生在过去的故事,奥特曼大战山海经,嬴政vs七国
  • 全能高手重回1998

    全能高手重回1998

    1998,林萧重生在石蜗村孤儿院。命运重启,他带着后世数不清的财富来到这里——苹果手机?那是我的专利。动漫产业?起兴于中国。社交平台,网络教育,购物网站,支付APP,文娱产业,一切尽在掌握之中!什么,你问这本书爽不爽?这不是废话嘛。
  • 科普乐园·用车轮走遍地球村

    科普乐园·用车轮走遍地球村

    本书利用通俗易懂的语言,愉快地把读者带到交通的世界。使读者不仅可以了解神奇的陆上、水上、空中的交通工具,还可以了解到丰富的交通史话、不可思议的交通设施、古代和现代人们对交通的管理,以及人们对未来交通工具的设想等。
  • 网游之江湖中人

    网游之江湖中人

    3000年史上最火爆最热门的《江湖》游戏出款直到3500年这款游戏变成了冷门。无人津问,只有依然热爱江湖题材的人任然能打开这款经典游戏开发商做立500年《江湖》,为的是什么,传承家族游戏,但终究吃空,没有金钱,怎么维持下去,怎么继承下去。
  • 我在木叶当院长

    我在木叶当院长

    穿越到火影世界,成为野乃宇的养子,信决心要成为一代孤儿院院长。孤儿院才有发展前景啊!当火影是不可能当火影的!我可是要成为院长的男人!垄断忍界所有开挂的新一代!于是乎信开始了:培养圆梦大师兜,拯救落魄少女香磷,教育个性少年水月......“等等!我们院里奇怪的人和东西好像越来越多了!”本书的时间线,将会很长很长。内容要素过多,请细品。
  • 王源,你何曾爱过我

    王源,你何曾爱过我

    秋起,有微风滑过的清香,有阳光照射的明媚,有树叶儿滑落的声响,还有,一抹抹微凉拂过心头的舒畅。微风,轻掀起衣角,轻吻着发丝,不经意间,那些春花夏梦的记忆,就感染这个多情的秋季。于是,心,慢慢的沉浸,轻轻的驻足,让心停歇,聆听风,倾听雨,原来,岁月处处都充满着暖意……
  • 凰凤策之一品毒女

    凰凤策之一品毒女

    ==正的不能再正的简介==凤安候府正牌嫡女凤轻凰被她的嫡亲妹妹活生生剜去双眼、砍断手脚装入瓮中做了人彘。再度睁开眼,她重生回到三年前,那时她十三岁。父亲一天比一天痴傻,一向温柔慈爱的母亲突然变得冷血无情,这一切的一切看起来是那么匪夷所思……为了守护她身边的人,她步步筹谋,计计斟酌,真相最终一点一点被揭开……当她用那双沾满血腥的手一点一点扯下浓黑巨大帘幕,惊天秘密的背后却是……既然有人逼她狠毒,那她就遂了她们的愿,将她们统统推入幽冥地狱,一起做那最狠最厉的恶鬼……谁说世间无公道,吾便是公道。此路一开,遇神杀神,遇鬼诛鬼,谁敢拦挡。==当狼心狗肺的万恶女主遇上人模狗样的腹黑男主==他赞叹:“温婉秀和,谦华淑逸,静婉心娴,啧啧,美人是不假,但更是青竹蛇儿口黄蜂尾上针,堪堪比之还要毒上千万倍的蛇蝎丫头。”她回敬:“桀骜不驯,放纵不羁,浮浪不经,陌上人如玉,公子世无双是不假……”仔仔细细将他从上到下扫了一遍,眼神飘忽,“把身上这副人模狗样的禽兽皮囊剥了兴许就能露出你那颗油光发亮的狐狸心,一半阴险狡诈,一半老谋深算,这两个词你算是当之无愧了。我们俩,也就彼此彼此。”他凤眸一弯,惊喜万分:“你也觉得我俩是绝配,果然心有灵犀,天生一对。”她唇角一勾,指了指不远处走来的白狐狸:“他和你更配。”白狐狸微微一怔,眯眼咧嘴,笑了。这么一看,果然配。==精彩抢先看==片段一:他怎么能轻易放过这个随心所欲吃他豆腐的小丫头,至少,他得吃回来才对。他装疯卖傻,她乐得配合。“我们去吃点东西吧!”她抬头看着“一品居”三个大字,脚步停了下来。他愣了愣,否决道:“可是我想去你家吃。”一对柳眉拧在一起,她唇角扯出一丝冷笑:真是给你脸还不要脸了!他扯了扯她的衣袖,声音柔得让她起了一身的鸡皮疙瘩:“我要去你家吃饭。”她恶狠狠瞪了他一眼,忍住胃里的一片恶寒甩开了他的手:“爱吃不吃。”“……一点都不温柔。”片段二:一片狼藉的“一品居”单间。“爷,那个,我能不能先洗洗?”糜中无哭无泪地僵直着身体。他永远也忘不了一袭白衣飘飘的主子就要落入那堆红粉骷髅里的那一刻,他心底的暗笑还没有僵持半秒,就被一股力道硬生生从房顶拽了下来,活生生,砸在了那堆红粉女骷髅里。一只又一只红粉骷髅张牙舞爪地向他扑倒下来,对他又啃又撕……而原本该处在他那个位置的他们的主子,正悠然坐在房顶,似笑非笑地看着他被一寸一寸吞没,一边慢条斯理说道:“对这些
  • 陆飞的都市生活

    陆飞的都市生活

    陆飞捡到买醉美女冉静,从此两人的世界发生了相交,看两人在这个都市之中,究竟会发生什么样的故事。相信看过的人都知道,这只是一本书的第三人称。相信看过的人都回味无穷,希望大家能够从第三人称,再次重温一次惜年的那本书。各位书友,都用推荐、收藏把这本书顶起,让更多的人,一起来重温惜年的那本小说。
  • 天行

    天行

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