资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第三章Delphi的窗体与组件教学要求:掌握窗体、编辑类组件、按钮类控件、列表类控件、分组类组件、时钟组件、菜单组件、工具栏组件和工具按钮、多选项卡的的属性、方法与事件,学会使用这些组件设计应用程序的界面。掌握ShowMessage、ShowMessageFmt、MassageDlg、MassageDlgPos、InputBox、InputQuery对话框函数与对话框过程的特点,并能熟练应用。熟悉公共对话框控件组件的属性,方法、事件及应用。掌握创建新窗体的两种不同的方法及其应用。掌握windows的模式与非模式窗体的概念及应用方法。 掌握焦点的含义,与焦点相关的属性,应用焦点设计程序的方法。了解CreateMessageDialog函数的定义与用法、speedbutton和文件有关的控件的属性、方法与事件。公司的发展建立在不断推出新产品的基础之上,注重短期目标与中长期发展战略相结合,以车载定位为先导的产品,以定位系列产品拓宽市场领域,以成为定位产品市场的领导者为目标,建立一个以推广健康、环保、节能的定位技术为中心的集团公司。39从本章开始,将介绍Delphi 编程的一些基本方法。通过这一部分的学习,可以了解开发Windows 环境下应用程序的一些关键技术,并可以方便、快捷地开发一般的应用程序。为了简化编程工作,Delphi 提供了许多功能强大的函数和类。其中很重要的一部分就是组件类。本章将重点介绍常见组件及其编程应用。现在深入普及的Windows操作系统中,方便快捷的人机交互界面主要是通过窗体和对话框实现的。在Delphi中,这些窗体和对话框就是程序设计阶段的窗体,Delphi的可视化设计工作就是在窗体中进行的。通常,窗体中会有文字输入、滚动条、复选框、单选框、按钮等一系列组件,通过这些直观易懂的组件,可以方便的实现多种多样的功能。在Delphi中,这些运行期间出现在窗体和对话框中的组件称为可视组件。在窗体中,还可以放置一些运行期间非可视的组件,对应其它的TComponent子类。这些不可视组件集中地实现了一些特殊的功能。比如,时钟控制等功能。l TComponent组件类,所有的组件都是由这个类派生来的。l TControl子类(可视组件)可分为两类:窗体组件和图形组件。l 窗体组件对应TWinControl 子类,是基于系统窗体的可视组件,具有窗体句柄,可作为输入焦点或含有其它组件,例如TEdit组件、TPanel组件。l 图形组件对应TGraphicControl 子类,没有窗体句柄,不可作为输入焦点,也不能含有其它组件,例如Label 组件。图形组件比窗体组件使用的资源少,尤其在组件数量比较多的情况下最好使用图形组件。组件组的关系如图所示。窗体和组件的关系非常密切。窗体就像一个容器,其中包容了可视组件和非可视组件。窗体和组件之间除了具有上述的不同点之外,还具有一些相同点。例如,从面向对象编程的角度来看,所有组件都是TComponent 类派生类的一个对象。窗体类(TForm)也是从TComponent 类派生的,所以可以将窗体看成一个特殊的组件。有些组件也具有窗体的“容器”属性,也就是在这些组件中可以放置其它组件,通常这些组件称为容器组件。例如Tpanel 组件就是一个容器组件,可以在Tpanel组件中放置其他组件。Delphi 中的所有组件是在可视组件库(Visual Component Library,缩写为VCL)中封装的。可视组件库是Delphi 中非常重要的一部分,不仅封装了所有组件对应的类,还封装了一些通用的类。所有的这些类都是由一个基类派生出来的,也就是TObject 类。了解可视组件库对于学习组件、使用Delphi 很有帮助。Delphi 中的主要组件栏Standard标准Windows组件、框架、菜单等Additional一些专用的Windows组件Win3232位Windows系统中的公用组件System进行系统操作的组件(包括定时器、多媒体和DDE等)Data Access操作数据库的组件,如访问数据库、表格、查询和报表等Data Controls 进行数据库控制的组件BDEBORLAND访问数据库的组件ADO通过ActiveX Data Objects访问数据库的组件InterBase 提供与InterBase直接联接的组件MIDAS开发多层数据库应用程序的组件InternetExpress 开发InternetExpress应用程序(Web服务器应用程序和客户端多层数据库应用程序)的组件Internet 开发Web服务的应用程序FastNet提供Internet操作的一些组件Decision Cube 为应用程序提供多维数据分析的组件Dialogs Windows通用对话框组件Win 3.1提供与Windows 3.1兼容的一些组件Samples一些定制组件的例子Servers通用COM服务器组件DELPHI组件常见属性及说明属性说明Align 设置组件对齐(相对于其父容器)Borderstyle 设置组件边框形状Caption 设置组件标题Ctl3d 设置组件边框是否为3D模式,若BORDERSTYLE设置为BSNONE则此属性无效Color 设定组件背景颜色Cursor 设定鼠标经过组件时光标所显示的形状Enabled 设定组件是否能使用,当设为FALSE时组件会呈灰色Font 设定组件内文字的字型、字体大小、颜色等Height 设定组件高度Helpcontent 用来为帮助说明文件中的索引值建立关联Left 设定组件与父组件左边框间的距离Popupmenu 设定鼠标右键(弹出式)快捷菜单Taborder 设定组件在按下TAB键后焦点(FOCUS)移动的顺序Tabstop 若设为FALSE,则按TAB键后焦点并不会在此组件上停留Top 设定组件与父组件上边框间的距离Visible 设定组件是否可见,此属性只在执行时起作用Width 设定组件显示宽度DELPHI常见事件及说明事件说明Onchange 当组件有所改变时触发的事件Onclick 当在此组件上按下鼠标左键时触发的事件Ondblclick 当在此组件上双击鼠标左键时触发的事件Onenter 当焦点进入此组件时触发的事件Onexit 当切换到其它组件使该组件失去焦点时触发的事件,但当切换到另一窗体或另一应用程序时此事件不会触发Onkeydown 当在拥有焦点的组件上按下某个键时触发的事件,按键包括所有的英文、数字键、方向键、功能键等Onkeypress 当在拥有焦点的组件上按下某个键时触发的事件,但按键只包括所有的英文、数字键、TAB、BACKSPACE、ENTER、ESCOnkeyup 当使用者放开键盘上的按键时触发的事件,按键看ONKEYDOWNOnmousedown 当鼠标键在某个组件按下时触发的事件(其参数包括哪个鼠标键被按下、是否有特殊键(CTRL、ALT、SHIFT)被按下以及鼠标当前的坐标)Onmousemove 当鼠标在组件内移动时触发的事件Onmouseup 当鼠标键在组件上方放开时所触发的事件Onpaint 在组件需要被重画时触发的事件,此时可进行自定义画法1.6 窗体介绍窗体是编写Delphi程序的工作底稿区,凡是与用户进行交互的程序都得使用窗体来设计用户界面。在程序运行时,窗体实际上就是标准的应用程序主窗口、对话框及多文档界面的主窗口。根据不同的窗体类型,Windows环境中的应用程序可以分为下面的三类:l 单文档界面(SDI)应用程序:这种应用程序同时只能打开一个文档。例如Windows 系统附件中的“画图”程序,只能同时编辑一个图像文件。l 多文档界面(MDI)应用程序:一般这种应用程序具有一个父窗体和多个子窗体,可以同时打开多个文档,分别在多个子窗体中显示。例如常用的word软件,可以同时编辑多个文档。l 对话框应用程序:这种应用程序的主界面基于一个对话框类型的窗体。例如Windows系统附件中的“磁盘扫描”程序。此外,有些应用程序在运行期间可以总是显示在桌面的最前端,例如在Windows中按下系统热键Ctrl+Alt+Del,激活的关闭程序窗体会一直显示在其它应用程序的窗体之上,除非退出该程序。窗体由标题栏、工作区和边界组成。1.6.1 窗体的属性窗体的属性是与其外观密切相关的。对于组件的属性除必要进行设定的外,一般使用它的默认值。1窗体的位置与大小窗体的位置与大小是由属性Left、Top、Width、Height、ClientWidth、ClientHeight、Position、Align来确定的。一般来说前四个属性可以定义控件在它们所在的容器组件中的物理位置和大小,在Delphi中的可见组件都有这四个属性,而不可见组件没有这些属性。l Heigth属性和Width属性分别指定窗体的高度和窗体的宽度 l 窗体的左上角相对于父容器(屏幕)的坐标:Top属性和Left属性 l Align属性用来设定窗体相对与父容器(屏幕)的对齐方式,该属性为枚举类型,取值如下取值含义alBotton窗体位于屏幕的下方,宽度为整个屏幕宽(Width属性失效),高度为Heigth属性值alClient窗体占据屏幕的中部,Width与Height属性失效alLeft窗体位于屏幕的左方,宽度为Width属性值,高度为整个屏幕(Heigth属性失效)alNoneWidth与Height属性有效,以及其他属性有效alRight窗体位于屏幕的右方,宽度为Width属性值,高度为整个屏幕(Heigth属性失效)alTop窗体位于屏幕的上方,宽度为整个屏幕宽(Width属性失效),高度为Heigth属性值l Position属性:在应用程序运行阶段,确定窗口在屏幕上的位置。只有当Align属性为alNone时才有效,属性为枚举类型,取值如下:取值含义poDesigned窗体运行时显示的位置和大小与设计相同poDefault窗体每次显示时,与上次比较,往右下角移动了一些位置;窗体的高度和宽度由Windows 决定poDefaultPosOnly窗体以设计期间的大小显示,窗体显示的位置较上次向右下角移动了一些。如果窗体以设计时的大小不可以在屏幕上完全显示,就移动到屏幕的左上角显示。poDefaultSizeOnly窗体以设计期间的位置显示,窗体的大小由Windows 决定poScreenCenter窗口尺寸由窗体的Height和Width属性参数确定,但是窗口位于屏幕的中央poDesktopCenter窗体以设计期间的大小显示;窗体显示的位置总在屏幕的中间。2. 窗体的名称与标题Caption属性确定了窗体的标题,当窗体最小化后,Caption属性值为图标的文本说明。通常,对于多文档界面(MDI)应用程序,当主框架窗体中的子窗体最大化显示的时候,应用程序的标题栏中显示的内容为“-”;当子窗体非最大化窗体显示的时候,主框架窗体中只显示应用程序的名称,子窗体有自己的标题栏,其中显示该窗体打开的文件名。所以,当窗体的显示方
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号