《可视化编程讲稿.docx》由会员分享,可在线阅读,更多相关《可视化编程讲稿.docx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章Delphi的窗体与组件教学要求求:掌握窗体体、编辑辑类组件件、按钮钮类控件件、列表表类控件件、分组组类组件件、时钟钟组件、菜单组组件、工工具栏组组件和工工具按钮钮、多选选项卡的的的属性性、方法法与事件件,学会会使用这这些组件件设计应应用程序序的界面面。掌握ShhowMMesssagee、ShoowMeessaageFFmt、MasssaggeDllg、MasssaggeDllgPoos、InpputBBox、InpputQQuerry对话话框函数数与对话话框过程程的特点点,并能能熟练应应用。熟熟悉公共共对话框框控件组组件的属属性,方方法、事事件及应应用。掌握创建建新窗体体的两种种不同的
2、的方法及及其应用用。掌握wiindoows的的模式与与非模式式窗体的的概念及及应用方方法。掌握焦点点的含义义,与焦焦点相关关的属性性,应用用焦点设设计程序序的方法法。了解CrreatteMeessaageDDiallog函函数的定定义与用用法、sspeeedbuuttoon和文文件有关关的控件件的属性性、方法法与事件件。39从本章开开始,将介绍绍Dellphii 编程程的一些些基本方方法。通通过这一一部分的的学习,可以了了解开发发Winndowws 环环境下应应用程序序的一些些关键技技术,并并可以方方便、快快捷地开开发一般般的应用用程序。为了简化化编程工工作,Dellphii 提供供了许多多功
3、能强强大的函函数和类类。其中中很重要要的一部部分就是是组件类类。本章章将重点点介绍常常见组件件及其编编程应用用。现在深入入普及的的Winndowws操作作系统中中,方便便快捷的的人机交交互界面面主要是是通过窗窗体和对对话框实实现的。在Deelphhi中,这些窗窗体和对对话框就就是程序序设计阶阶段的窗窗体,DDelpphi的的可视化化设计工工作就是是在窗体体中进行行的。通常,窗窗体中会会有文字字输入、滚动条条、复选选框、单单选框、按钮等等一系列列组件,通过这这些直观观易懂的的组件,可以方方便的实实现多种种多样的的功能。在Deelphhi中,这些运运行期间间出现在在窗体和和对话框框中的组组件称为为
4、可视组组件。在在窗体中中,还可可以放置置一些运运行期间间非可视视的组件件,对应应其它的的TCoompoonennt子类类。这些些不可视视组件集集中地实实现了一一些特殊殊的功能能。比如如,时钟钟控制等等功能。l TCommponnentt组件类类,所有有的组件件都是由由这个类类派生来来的。l TConntrool子类类(可视视组件)可分为为两类:窗体组组件和图形组组件。l 窗体组件件对应TTWinnConntrool 子子类,是是基于系系统窗体体的可视视组件,具有窗窗体句柄柄,可作为为输入焦焦点或含含有其它它组件,例如TTEdiit组件件、TPPaneel组件件。l 图形组件件对应TTGraap
5、hiicCoontrrol 子类,没有窗窗体句柄柄,不可作作为输入入焦点,也不能能含有其其它组件件,例如如Labbel 组件。图形组件件比窗体体组件使使用的资资源少,尤其在在组件数数量比较较多的情情况下最最好使用用图形组组件。组组件组的的关系如如图所示示。窗体和组组件的关关系非常常密切。窗体就就像一个个容器,其中包包容了可可视组件件和非可可视组件件。窗体体和组件件之间除除了具有有上述的的不同点点之外,还具有有一些相相同点。例如,从面向向对象编编程的角角度来看看,所有有组件都都是TCCompponeent 类派生生类的一一个对象象。窗体体类(TTForrm)也也是从TTCommponnentt
6、类派派生的,所以可可以将窗窗体看成成一个特特殊的组组件。有些组件件也具有有窗体的的“容器”属性,也就是是在这些些组件中中可以放放置其它它组件,通常这这些组件件称为容容器组件件。例如如Tpannel组组件就是是一个容容器组件件,可以以在Tpannel组组件中放放置其他他组件。Delpphi 中的所所有组件件是在可可视组件件库(VVisuual Commponnentt Liibraary,缩写为为VCLL)中封封装的。可视组组件库是是Dellphii 中非非常重要要的一部部分,不不仅封装装了所有有组件对对应的类类,还封封装了一一些通用用的类。所有的的这些类类都是由由一个基基类派生生出来的的,也就
7、就是TOObjeect 类。了解解可视组组件库对对于学习习组件、使用DDelpphi 很有帮帮助。Delpphi 中的主主要组件件栏Stanndarrd标准Wiindoows组组件、框框架、菜菜单等Addiitioonall一些专用用的Wiindoows组组件Win33232位WWinddowss系统中中的公用用组件Systtem进行系统统操作的的组件(包括定定时器、多媒体体和DDDE等)Dataa Acccesss操作数据据库的组组件,如如访问数数据库、表格、查询和和报表等等Dataa Coontrrolss 进行数据据库控制制的组件件BDEBORLLANDD访问数数据库的的组件ADO通过A
8、cctivveX Datta OObjeectss访问数数据库的的组件InteerBaase 提供与IInteerBaase直直接联接接的组件件MIDAAS开发多层层数据库库应用程程序的组组件InteerneetExxpreess 开发InnterrnettExppresss应用用程序(Webb服务器器应用程程序和客客户端多多层数据据库应用用程序)的组件件Inteerneet 开发Weeb服务务的应用用程序FasttNett提供Innterrnett操作的的一些组组件Deciisioon CCubee 为应用程程序提供供多维数数据分析析的组件件Diallogss Winddowss通用对对话框
9、组组件Win 3.11提供与WWinddowss 3.1兼容容的一些些组件Samppless一些定制制组件的的例子Servverss通用COOM服务务器组件件DELPPHI组组件常见见属性及及说明属性说明Aliggn 设置组件件对齐(相对于于其父容容器)Borddersstylle 设置组件件边框形形状Capttionn 设置组件件标题Ctl33d 设置组件件边框是是否为33D模式式,若BBORDDERSSTYLLE设置置为BSSNONNE则此此属性无无效Coloor 设定组件件背景颜颜色Curssor 设定鼠标标经过组组件时光光标所显显示的形形状Enabbledd 设定组件件是否能能使用,当
10、设为为FALLSE时时组件会会呈灰色色Fontt 设定组件件内文字字的字型型、字体体大小、颜色等等Heigght 设定组件件高度Helppconntennt 用来为帮帮助说明明文件中中的索引引值建立立关联Leftt 设定组件件与父组组件左边边框间的的距离Popuupmeenu 设定鼠标标右键(弹出式式)快捷捷菜单Taboordeer 设定组件件在按下下TABB键后焦焦点(FFOCUUS)移移动的顺顺序Tabsstopp 若设为FFALSSE,则则按TAAB键后后焦点并并不会在在此组件件上停留留Top 设定组件件与父组组件上边边框间的的距离Visiiblee 设定组件件是否可可见,此此属性只只在
11、执行行时起作作用Widtth 设定组件件显示宽宽度DELPPHI常常见事件件及说明明事件说明Onchhangge 当组件有有所改变变时触发发的事件件Oncllickk 当在此组组件上按按下鼠标标左键时时触发的的事件Ondbblcllickk 当在此组组件上双双击鼠标标左键时时触发的的事件Onennterr 当焦点进进入此组组件时触触发的事事件Onexxit 当切换到到其它组组件使该该组件失失去焦点点时触发发的事件件,但当当切换到到另一窗窗体或另另一应用用程序时时此事件件不会触触发Onkeeydoown 当在拥有有焦点的的组件上上按下某某个键时时触发的的事件,按键包包括所有有的英文文、数字字键、
12、方方向键、功能键键等Onkeeyprresss 当在拥有有焦点的的组件上上按下某某个键时时触发的的事件,但按键键只包括括所有的的英文、数字键键、TAAB、BACCKSPPACEE、ENTTER、ESCCOnkeeyupp 当使用者者放开键键盘上的的按键时时触发的的事件,按键看看ONKKEYDDOWNNOnmoouseedowwn 当鼠标键键在某个个组件按按下时触触发的事事件(其其参数包包括哪个个鼠标键键被按下下、是否否有特殊殊键(CCTRLL、ALTT、SHIIFT)被按下下以及鼠鼠标当前前的坐标标)Onmoouseemovve 当鼠标在在组件内内移动时时触发的的事件Onmoouseeup 当
13、鼠标键键在组件件上方放放开时所所触发的的事件Onpaaintt 在组件需需要被重重画时触触发的事事件,此此时可进进行自定定义画法法1.6 窗体介绍绍窗体是编编写Deelphhi程序序的工作作底稿区区,凡是是与用户户进行交交互的程程序都得得使用窗窗体来设设计用户户界面。在程序序运行时时,窗体体实际上上就是标标准的应应用程序序主窗口口、对话话框及多多文档界界面的主主窗口。根据不同同的窗体体类型,Winndowws环境境中的应应用程序序可以分分为下面面的三类类:l 单文档界界面(SSDI)应用程程序:这种应应用程序序同时只只能打开开一个文文档。例例如Wiindoows 系统附附件中的的“画图”程序,
14、只能同同时编辑辑一个图图像文件件。l 多文档界界面(MMDI)应用程程序:一般这这种应用用程序具具有一个个父窗体体和多个个子窗体体,可以以同时打打开多个个文档,分别在在多个子子窗体中中显示。例如常常用的wwordd软件,可以同同时编辑辑多个文文档。l 对话框应应用程序序:这种应应用程序序的主界界面基于于一个对对话框类类型的窗窗体。例例如Wiindoows系系统附件件中的“磁盘扫扫描”程序。此外,有有些应用用程序在在运行期期间可以以总是显显示在桌桌面的最最前端,例如在在Winndowws中按按下系统统热键CCtrll+Allt+DDel,激活的的关闭程程序窗体体会一直直显示在在其它应应用程序序的
15、窗体体之上,除非退退出该程程序。窗体由标标题栏、工作区区和边界界组成。1.6.1 窗体的属属性窗体的属属性是与与其外观观密切相相关的。对于组组件的属属性除必必要进行行设定的的外,一一般使用用它的默默认值。1窗体体的位置置与大小小窗体的位位置与大大小是由由属性LLeftt、Topp、Widdth、Heiightt、CliienttWiddth、CliienttHeiightt、Possitiion、Aliign来来确定的的。一般来说说前四个个属性可可以定义义控件在在它们所所在的容容器组件件中的物物理位置置和大小小,在Deelphhi中的的可见组组件都有有这四个个属性,而不可可见组件件没有这这些属
16、性性。l Heiggth属属性和WWidtth属性性分别指指定窗体体的高度度和窗体体的宽度度l 窗体的左左上角相相对于父父容器(屏幕)的坐标标:Toop属性性和Leeft属属性l Aliggn属性性用来设设定窗体体相对与与父容器器(屏幕幕)的对对齐方式式,该属属性为枚枚举类型型,取值值如下取值含义alBoottoon窗体位于于屏幕的的下方,宽度为为整个屏屏幕宽(Widdth属属性失效效),高高度为HHeiggth属属性值alClliennt窗体占据据屏幕的的中部,Widdth与与Heiightt属性失失效alLeeft窗体位于于屏幕的的左方,宽度为为Widdth属属性值,高度为为整个屏屏幕(H
17、Heiggth属属性失效效)alNooneWidtth与Heiightt属性有有效,以以及其他他属性有有效alRiightt窗体位于于屏幕的的右方,宽度为为Widdth属属性值,高度为为整个屏屏幕(HHeiggth属属性失效效)alToop窗体位于于屏幕的的上方,宽度为为整个屏屏幕宽(Widdth属属性失效效),高高度为HHeiggth属属性值l Posiitioon属性性:在应应用程序序运行阶阶段,确确定窗口口在屏幕幕上的位位置。只只有当AAliggn属性性为allNonne时才才有效,属性为为枚举类类型,取取值如下下:取值含义poDeesiggnedd窗体运行行时显示示的位置置和大小小与设
18、计计相同poDeefauult窗体每次次显示时时,与上上次比较较,往右右下角移移动了一一些位置置;窗体体的高度度和宽度度由Wiindoows 决定poDeefauultPPosOOnlyy窗体以设设计期间间的大小小显示,窗体显显示的位位置较上上次向右右下角移移动了一一些。如如果窗体体以设计计时的大大小不可可以在屏屏幕上完完全显示示,就移移动到屏屏幕的左左上角显显示。poDeefauultSSizeeOnlly窗体以设设计期间间的位置置显示,窗体的的大小由由Winndowws 决决定poSccreeenCeenteer窗口尺寸寸由窗体体的Heeighht和Widdth属属性参数数确定,但是窗窗口
19、位于于屏幕的的中央poDeeskttopCCentter窗体以设设计期间间的大小小显示;窗体显显示的位位置总在在屏幕的的中间。2. 窗窗体的名名称与标标题Capttionn属性确确定了窗窗体的标标题,当当窗体最最小化后后,Caaptiion属属性值为为图标的的文本说说明。通常,对对于多文文档界面面(MDDI)应应用程序序,当主主框架窗窗体中的的子窗体体最大化化显示的的时候,应用程程序的标标题栏中中显示的的内容为为“-”;当子子窗体非非最大化化窗体显显示的时时候,主主框架窗窗体中只只显示应应用程序序的名称称,子窗窗体有自自己的标标题栏,其中显显示该窗窗体打开开的文件件名。所所以,当当窗体的的显示
20、方方式发生生了改变变后,应应该立即即改变标标题栏中中的内容容。默认情况况下Naame属属性与CCapttionn属性值值相同,但不能能混淆两两者的作作用。NNamee属性是是窗体对对象的变变量名,当工程程中有多多个窗体体时,每每个窗体体的名称称必须是是唯一的的,即其其名称不不能相同同。属性性Namme 用用来标志志工程中中的窗体体。通常,应应该在系系统开发发的设计计阶段就就将整个个工程中中所有窗窗体的名名称确定定,然后后在编程程阶段根根据设计计文档修修改窗体体的Naame 属性。不能在在程序运运行期间间通过代代码修改改Namme属性性。3.窗体体的外观观与风格格与窗体的的外观与与样式有有关的属
21、属性有:BorrderrIcoons、BorrderrStyyle、ForrmSttylee、WinndowwStyyle、HorrzSccrolllBaar和 VeertSScroollBBar属属性等。l FormmStyyle属属性可以以分别实实现各种种类型的的应用程程序,取取值如下下:取值含义FsNoormaal普通的窗窗体fsMDDIChhilddMDI(多文档档窗体)的子窗窗体fsMDDIFoormMDI(多文档档窗体)的主窗窗体fsSttayOOnToop位于桌面面顶层的的窗体l BordderIIconns属性性用来指指定窗体体标题栏栏上的图图标,该属性性为集合合类型,取值如如
22、下:取值含义biSyysteemMeenu在窗体的的标题栏栏中显示示系统菜菜单biMiinimmizee在窗体的的标题栏栏中显示示最小化化按钮biMaaximmizee在窗体的的标题栏栏中显示示最大化化按钮biHeelp在窗体的的标题栏栏中显示示帮助按按钮,只有窗窗体的BBordderSStylle 属属性设置置为bssDiaalogg或者窗窗体属性性BorrderrIcoons 中不包包括biiMinnimiize 和biMMaxiimizze 时时,biiHellp 设设置才有有效。l 确定窗体体的边界界类型:BorrderrStyyle属属性,该属性性为枚举举类型,取值如如下取值含义bs
23、Diialoog标准对话话框边框框,边框框大小不不可以改改变。bsSiinglle单线框,大小不不可以改改变bsNoone窗体没有有边框,也没有有标题栏栏,边界界的大小小不可以以改变,边框不不能移动动。bsSiizeaablee边框可移移动大小小可变的的标准窗窗体bsTooolWWinddow风格与bbsSiinglle 相相同,只只是标题题栏比较较小。另另外,对对于这种种风格的的窗体,属性性BorrderrIcoons 中设置置的biiMinnimiize 和biMMaxiimizze 并并不起作作用。bsSiizeTToollWinn风格与bbsSiizeaablee 相同同,只是是标题栏
24、栏比较小小。对于于这种风风格的窗窗体,属属性BoordeerIcconss 中设设置的bbiMiinimmizee 和biMMaxiimzee 也不不起作用用。注意:窗窗体属性性BorrderrIcoons的的设置与与属性BBordderSStylle的设设置可能能会发生生互斥,例如属属性BoordeerIcconss的biMMiniimizze和biMMaxiimizze会与与属性BBordderSStylle的bsDiialoog冲突突,属性性BorrderrIcoons的的biHHelpp会与属属性BoordeerSttylee的bsSSizeeablle冲突突。l 设置窗体体的显示示状
25、态:WinndowwStyyle属属性,该属性性为枚举举类型,取值如如下取值含义wsNoormaal窗体运行行时显示示的位置置和大小小与设计计相同wsMiinimmal窗体运行行时,最最小化wsMaaximmizeed窗体运行行时,最最大化4Foont 属性属性Foont 用来设设置窗体体中文字字的字体体、颜色色和字号号等,包包含Coolorr、Naame、Sizze或SStylle等属性。如果将窗窗体中组组件的属属性PaarenntFoont 设置为为Truue,那那么该组组件的字字体设置置就与其其父级窗窗体的字字体设置置完全一一样了。在程序设设计的时时候,为为了保持持整个系系统风格格的统一
26、一,应该该使工程程中的窗窗体风格格尽量一一致,可可以先设设置窗体体的Foont 属性,然后将将窗体中中所有组组件的PPareentFFontt 属性性设置为为Truue 就就可以了了。一般般不要单单个地对对窗体中中的组件件进行FFontt 属性性的设置置。5Iccon 属性属性Iccon 用来指指定标题题栏中显显示的图图标。单击对象象编辑器器Icoon 属属性右边边的省略略号按钮钮,在弹弹出的PPictturee Edditoor 对对话框中中点击LLoadd.按钮,就可以以装入一一个制作作好的图图标。使用Deelphhi 自自带的工工具Immagee Edditoor 可可以方便便地制作作图
27、标。通过菜菜单Tooolss/ IImagge EEdittor可可运行IImagge EEdittor 编辑制制作图标标。如果需要要动态地地改变窗窗体Foorm11 中的的图标,可以调调用下面面的过程程:Formm1.IIconn.LooadFFrommFille(Icoon1.ICOO);其中Iccon11.ICCO是要要在窗体体Forrm1标标题栏中中显示的的图标文文件名。1.6.2 窗体的事事件窗体的事事件很多多,常用用事件:1Crreatte事件件和Deestrroy事事件 当创建窗窗体时,就产生生Creaate事事件; 当释放窗窗体所占占用的空空间时,就会产产生Deestrroy事
28、事件。这两个事事件过程程的基本本语法形形式为:procceduure TFoorm11.FoormCCreaate(Sennderr: TTObjjectt);procceduure TFoorm11.FoormDDesttroyy(Seendeer: TObbjecct); 应用:通常整个个程序的的初始化化工作放放在主窗窗体的CCreaate事事件中进进行处理理,比如如读入将将要用到到的图形形资源等等,而这这些资源源的释放放则放在在主窗体体的Deestrroy事事件中进进行处理理。例如如:procceduure TFoorm11.FoormCCreaate(Sennderr: TTObjje
29、ctt);begiin foorm11.Caaptiion:=欢欢迎使用用!; foorm11.Coolorr:=cclreed; foorm11.Foont.Collor:=cllbluue; foorm11.Foont.Namme:=隶书书; foorm11.Foont.Sizze:=20; foorm11.Foont.Styyle:=ffsboold,fsuundeerliine,fsiitallic; buuttoon1.Capptioon:=请按按键; buuttoon1.Lefft:=1300; buuttoon1.Topp:=5500; buuttoon1.Heiightt:=5
30、50; buuttoon1.Widdth:=1000;end;当创建窗窗体并显显示时,下列事事件按顺顺序出现现:Crreatte、Shoow、Paiint、Acttivaate。参见表表1-1142Shhow和和Hidde事件件Showw事件和和Hidde事件件分别在在窗体显显示与隐隐藏时被被触发。 当窗体的的Vissiblle属性性设置为为Truue时,窗体被被显示,同时触触发Shhow事事件; 当窗体的的Vissiblle属性性设置为为Fallse时时,窗体体被隐藏藏,同时时触发HHidee事件。这两个事事件过程程的基本本语法形形式为:procceduure TFoorm11.FoormS
31、Showw(Seendeer: TObbjecct);procceduure TFoorm11.FoormHHidee(Seendeer: TObbjecct);3 AActiivatte和Deaactiivatte事件件事件发生生的条件件: 当激活窗窗体时,就产生生Acttivaate事事件; 当窗体不不再激活活时,就就会产生生Deaactiivatte事件件。这两个事事件过程程的基本本语法形形式为:procceduure TFoorm11.FoormAActiivatte(SSendder: TOObjeect);procceduure TFoorm11.FoormDDeacctivvat
32、ee(Seendeer: TObbjecct);4 关闭窗体体cloose和和clooseqquerry事件件参见表表1-1155改变变窗体大大小时RResiize事事件和ppainnt 事事件在调整窗窗体的大大小时,就会出出现Reesizze事件件。该事事件过程程的基本本语法形形式为:procceduure TFoorm11.FoormRResiize(Sennderr: TTObjjectt);1.6.3 窗体的方方法参见常见见方法列列表:pp25窗口可以以分为模模态显示示和非模模态显示示两种显显示形态态。采用模态态显示时时用 ShhowMModaal 方方法打开开窗口。打开模模态窗口口之
33、后,同一程程序其他他窗口的的操作被被禁止,直到把把模态窗窗口关闭闭,其它它应用程程序的窗窗口可以以被操作作。非模态显显示的窗窗口用Shoow 方方法打开开。非模模态窗口口打开后后可以不不关闭,然后再再去打开开其他窗窗口。1.6.4 创建新窗窗体一个对象象的生命命周期是是从它被被创建那那一刻开开始。当当我们不不再使用某某个对象象时,可可以将这这个对象象从内存存空间中中删除,这样可可以避免免不必要要的数据据浪费内内存空间间。默认构构造方法法是Crreatte方法法。使用用这种方方法构造造的对象象(变量)的值,是该对对象实体体数据所所在的内内存地址址。默认的解解构方法法是Deestrroy,推荐使使
34、用的是是Freee。使使用Frree方方法,既既能删除除这个对对象,还还能删除除对象实实体所占占的内存存空间。窗体是一一个对象象,要想想在程序序中操作作它,必必须先调调用其ccreaate函函数创建建它。要注意程程序设计计状态与与程序运运行状态态的区别别。设计计好的窗窗体在运运行时,都应该该先创建建出来才才能执行行。主窗体:当应用用程序运运行时,首先显显示出来来的窗体体一般称称之为主主窗体。主窗体体一般由由应用程程序自动动创建。但一个个应用程程序,一一般不会会只有主主窗体,其他窗窗体有两两种不同同的创建建方式。包括:静静态创建建(自动动创建)和动态态创建(手动创创建)。1.静态态创建新新窗体的
35、的步骤l 打开已有有工程文文件l 新建窗体体l 建立主窗窗体与该该窗体的的联系。 引用单单元unnit22。在进进行编译译时系统统会自动动提示并并添加代代码。也也可手工工在主窗窗体单元元中添加加对unnit22的引用用代码。Use uniit2l 保存并运运行。2.设置置工程主主窗体和和自动创创建与手手动创建建窗体的的方法3.动态态创建新新窗体静态创建建的窗体体在运行行时将全全部装入入内存。当窗体体很多时时,会引引起系统统资源紧紧张。通通过动态态创建的的方法,在需要要调用某某个窗体体时,临临时创建建,使用用完后立立即释放放。l 修改工程程选项。选择菜菜单“proojecct|ooptiions
36、s”,系系统打开开“proojecct ooptiionss”对话话框,在在forrms选选项卡中中,所有有窗提出出现在自自动创建建列表框框中,选选择不需需自动创创建的窗窗体,移移到“Avaailaableeforrms”列表框框中。l 在主调窗窗体中修修改程序序代码。Formm2:=tfoorm22.crreatte(nnil);Formm2.sshoww;l 动态创建建的窗体体在运行行结束后后,一般般应手动动释放,以释放放其所占占用的内内存空间间。释放放窗体的的方法一一般有两两种的ddesttroyy,frree。一般用用freee,两两者在用用法上稍稍有不同同,请查查阅帮助助文档进进一步
37、了了解。Formm2.ddesttroyy;Formm2.ffreee; 或者者 foorm22.Releeasee;作业:1. 设计一个个不含系系统菜单单的窗体体,添加加一个按按钮实现现窗体的的关闭。2. 设计一个个不能改改变大小小的窗体体。3. 设计一个个透明窗窗体。提示:首首先设置置窗体的的TraansPPareentCColoor-TTruee;然后设置置窗体的的Collor与与TraansPPareentCColoorVaaluee为相同同值4. 新建一个个工程,创建三三个窗体体forrm1,forrm2,forrm3,将foorm11设为主主窗体,在foorm11放置buuttoo
38、n1,butttonn2两按按钮,选选择buuttoon1,以无模模式显示示Forrm2,选择buuttoon2,以有模模式显示示Forrm3。5. 新建一个个工程,创建三三个窗体体forrm1,forrm2,forrm3,将foorm11设为主主窗体,在foorm11放置buuttoon1,butttonn2两按按钮,fformm2由应应用程序序自动创创建,选选择buuttoon1,以无模模式显示示Forrm2,forrm3手手动创建建,选择择butttonn2,先先创建fformm3,并并以有模模式显示示Forrm3。6. 请编写程程序验证证窗体CCreaate、Shoow、Paiint、
39、Acttivaate等等事件激激活的顺顺序。窗体组件件(FOORM)常见属属性属性说明Actiive 指示此窗窗体是否否拥有FFOCUUSActiivecconttroll 指示窗体体中目前前拥有FFOCUUS的组组件Actiivemmdicchilld 指示主窗窗体中目目前拥有有FOCCUS的的子窗体体Actiiveoolecconttroll 用于取得得或设定定此窗体体上的OOLE控控制,以以响应FFOCUUS改变变Bordderiiconns 指定哪些些ICOON显示示在窗体体的TIITLEE BAAR上Bordderssytlle 用以指定定窗体BBORDDER外外观及行行为Canvv
40、as 提供使用用者可在在窗体上上CLIIENTT内自行行显示的的画板,一般在在ONPPAINNT事件件中使用用Clieenthhanddle 提供可存存取系统统内部使使用的MMDI CLIIENTT WIINDOOW HHANDDLEClieenthheigght 窗体客户户区高度度Clieentrrectt 窗体客户户区所对对应的矩矩形Clieentwwidtth 窗体客户户区宽度度Defaaulttmonnitoor 指定此窗窗体所显显示的预预设的显显示器,用于多多显示器器环境下下Desiigneer 此窗体的的设计界界面,一一般不用用用户设设定Dropptarrgett 用以指定定窗体是
41、是否为目目前DRRAG ANDD Drrop动动作的目目标Floaatinng 用以指示示此窗体体是否正正在停泊泊在另一一个视窗窗内Formmstaate 用于指示示此窗体体所处状状态Formmstyyle 用于指示示窗体的的样式Helppfille 用于指定定HELLP文件件Iconn 指定窗体体最小化化时所显显示的IICONNKeypprevvieww 指定此窗窗体是否否需在目目前的AACTIIVE组组件之前前取得键键盘输入入Mdicchilldcoountt 用于取得得子窗体体数目Mdicchilldreen 用于取得得子窗体体(数组组)Menuu 用于指定定窗体主主菜单Modaalre
42、esullt 当窗体作作用为MMODAAL对话话框时,作为对对话框的的效果Moniitorr 用于指示示窗体所所显示的的显示器器Oldccreaateoordeer 指定ONNCreeatee和ONDDESTTROYY事件何何时发生生Olefformmobjjectt 对包含在在此窗体体内的OOLE对对象指定定OLEEFORRM界面面Pareent 设定此窗窗体的PPAREENTPareentbbidiimodde 指定是否否此窗体体使用PPAREENT的的BIDDIMOODEPixeelspperiinchh 表示此窗窗体设计计时系统统上字形形的比例例Posiitioon 表示此窗窗体的大大
43、小及位位置Prinntsccalee 表示此窗窗体打印印的比例例Scalled 用于指定定窗体的的大小是是否依据据PIXXELSSPERRINTTCH属属性来指指定Tileemodde用于指定定TILLE方法法被调用用时子窗窗体如何何排列Visiiblee 用于设定定此窗体体是否被被显示Winddowmmenuu 如果窗体体是一个个MDII PAARENNT窗体体,用于于指定视视窗的菜菜单Winddowsstatte 用于指定定窗体如如何显示示于屏幕幕中窗体组件件(FOORM)常见事事件及说说明事件说明Onpaaintt 当窗体必必须重画画时发生生Onheelp 当窗体收收到HEELP请请求时
44、发发生Ondrragddropp 当一个对对象拉进进此窗体体并丢下下时发生生Ondrragooverr 当一个对对象拉进进此窗体体时发生生Oncoonsttraiineddressizee 在ONCCANRRESIIZE事事件发生生后发生生Oncaanreesizze 当企图改改变窗体体尺寸时时确认是是否改变变Onreesizze 当窗体尺尺寸改变变时发生生Onsttarttdocck 当对象开开始停泊泊时发生生Onennddoock 当对象停停泊结束束时发生生Onunndocck 当窗体解解除停泊泊时发生生Ondoockddropp 当其它窗窗体停泊泊到此组组件时发发生Ondoockoove
45、rr 当其它窗窗体向此此组件停停泊接近近时发生生Ongeetsiiteiinfoo 当有关停停泊消息息传回此此窗体时时发生Oncrreatte 当窗体创创建时发发生Oncllosee 当窗体即即将关闭闭时发生生Onclloseequeery 在窗体即即将关闭闭时确认认是否真真的关闭闭窗体Ondeestrroy 当窗体释释放时发发生Onshhow 当窗体显显示时发发生Onhiide 当窗体隐隐藏时发发生Onacctivvatee 当窗体获获得FOOCUSS时发生生Ondeeacttivaate 当窗体失失去FOOCUSS时发生生3.3 使用焦焦点焦点foocuss就是光光标,当当对象具具有焦点点时,才才能响应应用户的的操作,焦点就就是对象象接受用用户操作作(鼠标标或键盘盘)的能能力。1.与焦焦点相关关的属性性:主要有vvisiiblee eenabbledd,当他他们都为为truue时,对象才才能够获获得焦点点。有些控件件不具有有焦点。?哪哪些呢?2.获得得焦点的的方法:l 程序设计计时,通通过代码码设定,调用组组件的ssetffocuus方法法,例如如:eddi
限制150内