《Delphi程序设计》-第三章窗体和常用组件_第1页
《Delphi程序设计》-第三章窗体和常用组件_第2页
《Delphi程序设计》-第三章窗体和常用组件_第3页
《Delphi程序设计》-第三章窗体和常用组件_第4页
《Delphi程序设计》-第三章窗体和常用组件_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目1显示当前日期、时间项目说明本应用程序是一个显示系统当前日期、时间的练习,界面由一个Label组件和三个Button组件组成,运行效果如图3-1所示。若用户单击“当前时间”按钮,则在Label组件显示出当前时间;若单击“当前日期”按钮,则在Label组件显示出当前日期;单击“当前时间和日期”按钮,将在Label组件显示出当前日期和时间。返回下一页项目1显示当前日期、时间项目分析1.窗体中的组件(见图3-2)(1)选择组件模板“Standard”选项卡,向窗体加入1个Label组件,用于显示时间日期。(2)选择组件模板“Standard”选项卡,向窗体加入3个Button组件“当前时间”、“当前日期”、“当前时间和日期”。(3)设置窗体中组件属性如表3-1所示。2.项目中的事件(1)“当前时间”按钮OnClick事件,用于显示当前系统时间。(2)“当前日期”按钮OnClick事件,用于显示当前系统日期。(3)“当前时间和日期”按钮OnClick事件,用于显示当前系统时间和日期。返回上一页下一页项目1显示当前日期、时间项目实现学习支持1.Form组件(1)创建Form组件:建立一个Form组件有多种方式,用户可以根据需要灵活地使用它们。(2)修改窗体的标题:建立一个窗体时,窗体的标题默认值为Form1,Form2等,可以根据其作用或意义修改标题,这时只需重新设置窗体的Caption属性即可。(3)修改窗体的变量名:建立一个窗体时,窗体的变量名Name默认为Form1,Forlm2等,用户可以根据其作用或意义修改变量名,这时只需重新设置窗体的Name属性即可。返回上一页下一页项目1显示当前日期、时间(4)初学者有时可能在屏幕上找不到窗体,这时可以使用下列方式之一来进行查找:执行“View”→“Forms”菜单命令,在出现的“ViewForm”对话框中,选择所要的窗体名。按“Shift+F12”键,在出现的“ViewForm”对话框中,选择所要的窗体名。执行“View”→“ProjectManager”菜单命令,进入项目管理器,然后用鼠标左键双击窗体的图标。(5)Form组件常用属性:在Form组件的属性选项卡上有许多属性,它们是按照字典顺序排列的。每个属性都有其默认值,在设计期可以重新设置这些属性值。下表列出了Form组件的常用属性(表3-2)。返回上一页下一页项目1显示当前日期、时间(6)Form组件常用事件:大家知道,不同的对象所提供的事件过程不尽相同。下面将介绍有关Form组件常用的事件过程。在Form组件事件选项卡的事件框上双击,就会出现系统默认的事件过程名,一般没有必要不要修改其名称。2.Button组件(命令按钮)(1)在各种应用程序中经常使用形式各异的按钮组件。Button组件用法比较简单,在应用程序运行期单击它将触发OnClick事件,程序要做的就是响应这个事件。因此Button组件称为标准命令按钮或命令按钮。(2)若某个Button组件被Form的ActiveControl属性设置为默认激活的按钮,可以在程序运行期间按“Enter”实现按钮的单击。(3)Button组件的常用属性如表3-4所示。返回上一页下一页项目1显示当前日期、时间3.Label组件(标签组件)(1)Label组件是一个简单易用并且经常使用的组件。标签组件本身并不是窗口,只是用来标注其他组件。用途:在窗体上对输入的文字给予提示信息。对显示的文字给予说明。将已知数据、中间结果及最后结果显示在窗体上。用来显示其他组件的简要说明,即用来标注其他组件。(2)Label组件常用属性如表3-5所示。返回上一页下一页项目1显示当前日期、时间4.日期函数

Delphi系统定义了TDate日期类型、TTime时间类型和TDateTime日期—时间类型。这些类型用Double实型值来表示日期—时间。因为Double类型有足够的宽度,以便在一个变量里存储年、月、日、小时、分和秒,直至毫秒等信息。返回上一页项目2实数计算器项目说明本项目利用17个Button组件和1个Edit组件,并使用了Button组件公共事件的方法完成了一个简易实数算术计算器的制作,这个计算器可以进行实数的加减乘除计算。运行效果如图3-3所示。项目分析1.窗体上需要加入的组件向新窗体加入一个Edit组件,用于显示运算过程及结果;加入17个Button按钮,用于输入运算表达式及进行有关操作。这些按钮分为两大类:(1)字符类:包括输入数字(0~9)字符的10个按钮(Button0~Button9)和输入小数点的按钮(Button10),共计11个。返回下一页项目2实数计算器(2)运算类:包括Plus(“+”按钮),Minus(“-”按钮),Multiply(“*”按钮),Devide(“/”按钮),Equal(“=“按钮)和Clear(“C”按钮),共计6个。为简化程序结构,“+”“-”“*”“/”按钮使用公用事件,因此依次将它们的Tag属性设置为0,1,2,3。(3)窗体中组件属性设置如表3-6所示。(4)窗体设置效果如图3-4所示。2.公共变量声明在程序运行过程中,要进行输入、算术运算、显示结果“=“和清零“C”等操作,所以在窗体类的声明中添加了如下变量声明:返回上一页下一页项目2实数计算器项目实现学习支持1.多个组件对齐和尺寸调整(1)在窗体上添加多个相同的组件:按住“Shift”的同时,在组建模板上单击你想要添加的组件,这时就可以在窗体上通过单击鼠标左键得到多个相同的组件(如图3-5),想退出此状态就单击组建模板上的指针组件即可。(2)一组组件的尺寸调整:“Edit”→“Size”(如图3-6)。(3)一组组件对齐:“View”→“AlignmentPalette”(如图3-7)。返回上一页下一页项目2实数计算器2.Edit组件

Edit组件是为用户提供一个可以编辑修改、输入文字的单行编辑器,还可以用来显示数据,所以它是输入、修改和显示数据的工具。

Edit组件常用属性如表3-7所示。3.公用事件在这个项目中,应用程序使用了许多Button组件,原则上每个按钮都要建立相应OnClick事件过程。当它们的功能代码既简单又十分相似时,就可以用一个“公用”的事件过程来代替这些事件过程呢。这就是公用事件的含义。返回上一页下一页项目2实数计算器4.异常处理程序代码不可能绝对不出错,为了防止出错,往往通过额外的代码捕获可能的错误。但这种方法只能捕获可预见的错误,如果出现没有预见的错误,则程序正常的流程将被打乱。Delphi提供的异常处理机制就是:在源代码编译之后,在Windows下运行执行文件时,如果输入的数据有错,将能够在不中断程序运行的情况下进行纠错。语法:try<正常的执行语句块>except<异常处理的语句块>end;返回上一页项目3编辑、显示个人信息项目说明利用GroupBox,CheckBox,Edit和Label等组件,编辑、显示个人信息选项。如图3-8所示,如果在复选框内选中某人的“姓名”、“性别”、“年龄”或“电话”等选项之一,在相应编辑框输入信息之后,单击“显示”按钮,则所有被选中选项的信息将显示在一个Label标签上。返回下一页项目3编辑、显示个人信息项目分析1.窗体上置入的组件(1)选择组件模板的“Standard”选项卡,在空白窗体中首先置入一个GroupBox组件作为容器。(2)选择组件模板的“Standard”选项卡,将4个CheckBox复选组件放入这个GroupBox组件,这4个CheckBox组件分别表示“姓名”、“性别”、“年龄”和“电话”选项。(3)选择组件模板的“Standard”选项卡,在窗体上放入4个Edit编辑框,用于编辑相应选项的内容。(4)选择组件模板的“Standard”选项卡,放入2个Button按钮“显示信息”、“清除”,用于建立单击事件过程。返回上一页下一页项目3编辑、显示个人信息(5)选择组件模板的“Standard”选项卡,放入1个Label标签,用于显示各Edit编辑框的内容。(6)在“Win32”选项卡上选择一个UpDown加减组件,用于调整输入的年龄,在运行期就可以通过单击UpDown加减组件的两个箭头按钮来改变Edit组件显示的整数值。(7)各组件主要属性设置如表3-8所示。(8)窗体设置效果如图3-9所示。返回上一页下一页项目3编辑、显示个人信息2.项目中的事件(1)4个CheckBox使用公共事件CheckBox1Click,用来控制各个选项对应的Edit是否可见。(2)“显示信息”按钮单击事件,用来显示Edit的内容。(3)“清除”按钮单击事件,用来清除Label和Edit中的内容。项目实现返回上一页下一页项目3编辑、显示个人信息学习支持1.GroupBox组件(1)在Windows界面设计中,常常将一组相关的控件放在一个“容器”组件中,使它们表现出整体性。制作复选框与单选框就是将GroupBox组件作为容器使用,在其中分别置入一组CheckBox组件或一组RadioButton组件。(2)要在窗体上建立一个GroupBox组件,只需在组件模板的“Standard”选项卡上选中GroupBox组件按钮,然后在窗体的适当位置单击鼠标左键,便完成一个GroupBox组件的建立。(3)GroupBox组件具有控件的所有基本属性。它最主要的属性是有一个总标题,可通过Caption属性进行设置。返回上一页下一页项目3编辑、显示个人信息(4)制作复选框与单选框的优点主要有:将同一性质的选项按钮集中在一个GroupBox内,可以使程序操作更加方便。多组选项按钮分别置于不同的GroupBox内,彼此互相独立,可以使窗体画面整齐而有条理。当移动或者删除GroupBox时,在框内的各子控件也会随之被移动或者删除,免除多次调整位置的麻烦。返回上一页下一页项目3编辑、显示个人信息(5)制作复选框。所谓复选框就是以GroupBox组件作为容器,在其中置入一组CheckBox组件。从复选框的上述定义来看,制作复选框是容易的。但是从操作上考虑,要对齐已经置入到GroupBox组件的一组CheckBox组件,往往是困难的。建议采用下列方法制作复选框:先将一组CheckBox组件置入窗体,然后用指针组件把这组组件框起来,用“View”→“AlignmentPalette”菜单命令打开“Align”对话框,进行对齐操作,特别是水平等距分配或竖直等距分配。再次用指针组件把这组组件框起来,并将它们移到窗体左上角,剪切到剪贴板。最后将GroupBox组件置入窗体,再将剪贴板保存的组件粘贴到这个容器组件中。返回上一页下一页项目3编辑、显示个人信息2.CheckBox组件(复选按钮)

CheckBox组件可以直观地表示某个选项被选中还是没有被选中。每个CheckBox组件由一段文字和一个小方框组成。用鼠标单击CheckBox组件的小方框,无论是从未选中到选中还是从选中到未选中,都会触发一个OnClick事件。

CheckBox组件常用属性如表3-9所示。返回上一页下一页项目3编辑、显示个人信息3.UpDown

一个UpDown加减组件,在组件模板的“Win32”选项卡上选中“UpDown”图标,然后在窗体上适当位置单击鼠标左键,便完成一个UpDown加减组件的建立,UpDown加减组件由一对箭头按钮组成。用户可以利用它的Associate属性来指明配合的Edit组件名,还可以利用它的Min和Max属性来指明它的变化区间。在运行期就可以通过单击UpDown加减组件的两个箭头按钮来改变Edit组件显示的整数值。这样,应用程序就可以通过Edit组件的Text属性来输入所需的整数值。返回上一页项目4设置字体风格项目说明利用单选按钮RadioButton、复选按钮CheckBox和容器组件GroupBox来完成一个Edit编辑框中显示文字的大小、风格、颜色,效果如图3-10。在本项目中仍然使用了公共事件的方法。项目分析1.窗体中的组件(1)选择组件模板的“Standard”选项卡,向窗体放置1个Edit用于显示文字格式。(2)选择组件模板的“Standard”选项卡,向窗体放置3个GroupBox,分别用于放置颜色、字体风格、字号的选项。返回下一页项目4设置字体风格(3)选择组件模板的“Standard”选项卡,向窗体放置6个RadioButton,其中三个设置为颜色选项,另外三个设置为字号选项。(4)选择组件模板的“Standard”选项卡,向窗体放置3个CheckBox,设置为字体风格选项。(5)窗体中组件的主要属性设置如表3-10所示。(6)窗体设计效果如图3-11所示。2.项目中的事件(1)RadioButton的两种公用事件:选择颜色的公共事件名RadioButtonClick、选择字号的公共事件名RadioButton4Click。(2)CheckBox的公用事件:选择字体风格的公共事件名CheckBoxClick。返回上一页下一页项目4设置字体风格项目实现学习支持RadioButton

单选按钮与复选按钮有相似之处,它们都能直观表示某个选项是否被选中。不同的地方是,单选框表示的选项是互斥的,并且通常成组地使用。如果一组选项中有一个选项被选定,则该组的其他选项将处于未选择状态。单选框用RadioButton组件建立,每个单选按钮由一段文字和一个小圆圈组成。用鼠标单击小圆圈,只有当单选框被选中时,才会触发一个OnC1ick事件。RadioButton组件主要属性如表3-11所示。返回上一页项目5星座项目说明这个项目实例使用一个RadioGroup组件把出生日期制作成一组单选按钮,选择某个出生日期范围后,应用程序会将日期范围所属星座显示出来(如图3-12)。项目分析1.窗体上的组件(1)选择组件模板的“Standard”选项卡,向窗体添加一个RadioGroup组件,用于制作一个单选框来表示出生日期范围选项。(2)选择组件模板的“Standard”选项卡,向窗体添加两个Label标签,用于显示星座名称和提示文字。(3)窗体中组件的主要属性设置如表3-12所示。返回下一页项目5星座(4)窗体设计效果如图3-14所示。2.项目事件

RadioGroup的OnClick事件,用于相应用户对选项的选择,结果显示在一个Label标签。项目实现返回上一页下一页项目5星座学习支持RadioGroup(1)除了可以用GroupBox组件来制作单选框外,还可以用RadioGroup组件快速地制作单选框。Delphi有一种专门制作单选框的单选分组框,这就是RadioGroup组件,其功能与在一个GroupBox组件中加入若干单选按钮基本相同。但是,使用RadioGroup制作单选框十分方便,Delphi无须用户加入选项按钮,只要编辑选项名就会自动帮助用户在单选分组框中建立按钮,并将它们排列好。返回上一页下一页项目5星座(2)要在窗体上建立一个RadioGroup组件,只需打开组件模板的“Standard”选项卡,在其中选中RadioGroup组件按钮,然后在窗体的适当位置单击鼠标左键,即可完成一个RadioGroup组件的建立。(3)RadioGroup的主要属性如表3-13所示。(4)单选框的编辑。利用RadioGroup组件,可以通过编辑它的Items属性来制作单选框,Delphi就会为每个字符串建立一个单选按钮,该字符串就是单选按钮的选项的名字,并且自动将它排列在单选框之中。这些选项按钮还可以按照多列排列在单选框中,列数可通过Columns属性进行设置。更重要的是,在运行期可以动态地对RadioGroup的Items属性进行操作。返回上一页项目6单词积累器项目说明本项目是一个在英语学习过程中用于单词积累的工具,这个工具完成了添加单词、删除单词、保存单词表的功能,并且可以查看单词的中英文显示。这个项目说明了ListBox和ComboBox两个组件的使用方法及主要属性、方法和事件等,这两种组件的使用方法比较近似,使用频率也较高。另外,本项目还说明了如何调用第二个窗体。运行效果如图3-15所示。返回下一页项目6单词积累器项目分析当单击ListBox组件中的某个中文选项时,会在ComboBox组件中显示相应的英文单词;同样当在ComboBox组件中选择了某个英文单词时,ListBox组件中的相应中文也会显示为选中状态;单击“添加单词”按钮会弹出添加单词窗口,输入对应的中英文之后单击“确定”按钮可以添加单词;单击“删除单词”按钮会删除选中的单词和对应的中文,即ComboBox和ListBox中会删除对应的内容;单击“保存”按钮,会把删除或添加过的单词保存到对应的文件存储起来。返回上一页下一页项目6单词积累器1.窗体Form1中置入的组件(1)选择组件模板的“Standard”选项卡,在窗体中添加一个ListBox组件、一个ComboBox组件,用于显示单词的中英文。ListBox和ComboBox两个组件的内容可以通过其Items属性在编辑框中提前设置,也可以提前保存到一个文本文件中,并使用LoadFromFile方法打开该文本文件。在这个项目中我们不用Items属性逐个的添加项,而使用LoadFromFile方法载入文件:返回上一页下一页项目6单词积累器(2)选择组件模板的“Standard”选项卡,在窗体中添加三个Label组件,用于标识“中文”、“英文”、“<====>”。(3)选择组件模板的“Standard”选项卡,在窗体中添加三个Button组件,分别是“添加”“删除”、“保存”。(4)窗体中组件的主要属性如表3-14所示。(5)窗体设计效果如图3-16所示。2.表单Unit1中的事件(1)Form1的OnCreate事件,可以在打开Form1时显示以前保存过的词汇。返回上一页下一页项目6单词积累器(2)“添加”按钮的OnClick事件:通过调用第二个窗体来完成添加任务。在Unit1中要调用Unit2需要选择菜单“File”→“UseUnit”,选中要调用的窗体,这时Unit1代码中会出现如下代码:

usesUnit2;(3)“删除”按钮的OnClick事件:可以从en.txt和ch.txt文件中删除选中的项。在程序运行过程中,要删除一个项可以先选择该项,然后通过ListBox和ComboBox组件的DeleteSelected方法删除该项。返回上一页下一页项目6单词积累器(4)“保存”按钮的OnClick事件:把改动过的单词和译文表载入到文件中。(5)Listbox的OnClick事件:当选中Listbox中的某个中文时,Combobox出现对应的英文,这个功能是利用Listbox和Combobox中项的索引值一致实现的。Count属性表示项的总数;ItemIndex表示一个项的索引值,第一个项的值为0。代码如下:返回上一页下一页项目6单词积累器(6)Combobox的OnChange事件:当选中Combobox中的某个英文时,Listbox出现对应的中文,这个功能采用for循环在combobox1.Items中逐个查找,直到Listbox和Combobox中项的索引值一致为止,代码如下:返回上一页下一页项目6单词积累器3.窗体Form2中置入的组件(1)选择组件模板的“Standard”选项卡,在窗体中添加两个Label组件,用于标识“中文”、“英文”。(2)选择组件模板的“Standard”选项卡,在窗体中添加两个Edit组件,用于输入对应的中英文单词。(3)选择组件模板的“Additional”选项卡,在窗体中添加两个BitBtn组件,作为“确定”输入内容的按钮和“关闭”窗口的按钮。(4)窗体中组件的主要属性如表3-15所示。(5)窗体设计效果如图3-17所示。返回上一页下一页项目6单词积累器4.表单Unit2中的事件(1)在Unit2中要调用Unit1的方法上面已经介绍过,这里就不重复说明了。(2)“确定”按钮的OnClick事件:实现的功能是向中英文单词表中添加新词汇,Add方法可以实现添加新的项,代码如下:

form1.ListBox1.Items.Add(edit1.Text);form1.ComboBox1.Items.Add(edit2.Text);项目实现返回上一页下一页项目6单词积累器学习支持1.ListBox组件(1)ListBox组件主要用于制作列表框,列表框中具有一连串的选项,可供用户从中选中所需的选项,如表3-16所示。(2)常用属性的用法。Items对象的CommaText属性:ListBoxl.Items.CommaText:='选项1,选项2,选项3';ItemIndex属性:ListBoxl.ItemsIndex:=0;TopIndex属性:ListBoxl.TopIndex:=12;返回上一页下一页项目6单词积累器Items对象的Strings属性:ListBoxl.Items.Strings[0]:='被更新选项';(3)ListBox组件的常用方法。列表框新增选项:ListBoxl.Items.Add('列表框新增加一项');插入新选项:ListBoxl.Items.Insert(1,'在第二项插入新项');删除已有选项:ListBoxl.Items.Delete(6);清空列表框:ListBox.Clear;或者ListBox.Clear();返回上一页下一页项目6单词积累器2.ComboBox组件

ComboBox组件主要用于制作组合框,组合框是由一个编辑框和列表框组合而成的下拉式列表框,除了具有ListBox组件的功能以外,还提供可输入文字的功能。ComboBox组件常用属性如表3-17所示。3.BitBtn组件

BitBtn组件称做位图按钮。与Button组件不同的是,Button组件只能显示文字,而位图按钮既可以显示文字,又可以显示位图。有时,使用位图按钮比使用命令按钮更加生动和直观。它与Button组件有很多相似之处。

BitBtn组件的主要属性如表3-18所示。返回上一页项目7模仿迅雷窗口项目说明界面是程序的面孔,很多应用程序的界面给用户留下了深刻的印象,如迅雷的下载窗口,既透明又总是在最前面。本实例说明如何利用Delphi制作一个Windows2000下的透明窗体。值得注意的是,本程序在Windows98环境下不能够得到透明效果,因为AlphaBlend属性和AlphaBlendValue属性只支持Windows2000及以后版本的操作系统。通过这个实例,读者不但可以体验到Delphi的强大功能,还可以为自己的应用程序界面加上看起来很神奇的透明效果(如图3-18所示)。返回下一页项目7模仿迅雷窗口项目分析运行窗体后可以通过TrackBar组件滑块的调节来改变窗体的透明度,并且窗体总是显示在其他应用程序的前面。1.窗体中添加的组件(1)选择组件模板的“Additional”选项卡,选择一个Image组件添加到窗体中,用来显示一幅图片。(2)选择组件模板的“Win32”选项卡,选择一个TrackBar组件添加到窗体中,用来调节窗体的透明度。(3)窗体中组件的主要属性如表3-19所示。(4)窗体的设计效果如图3-19所示。返回上一页下一页项目7模仿迅雷窗口2.项目事件(1)在程序运行过程中用户可以通过调节TrackBar组件上滑块的位置来设置窗体的透明程度。这就要由TrackBar组件的OnChange事件来完成:

procedureTForm1.TrackBar1Change(Sender:TObject);beginform1.AlphaBlendValue:=TrackBar1.Max-TrackBar1.Position;end;返回上一页下一页项目7模仿迅雷窗口(2)由上面的代码可以看出还需要设置窗体的AlphaBlend属性为True,通过改变窗体的AlphaBlendValue属性值即可设置窗体的透明度。(3)Delphi为窗体提供了一个属性——FormStyle,通过设置这个属性为fsStayOnTop,就可以实现在程序运行过程中,不管用户如何切换应用程序,本窗体却始终显示在最前面。如果读者想要取消这种效果,可以将FormStyle属性设置为fsNormal。项目实现返回上一页下一页项目7模仿迅雷窗口学习支持1.Image(1)Image(图像)组件是Delphi提供的具有强大功能的组件。Image组件主要用于处理、显示各种图片。在窗体上建立一个Image组件,只需在组件模板的“Addition”选项卡上选中“Image”按钮,然后在窗体上适当位置单击鼠标左键,便完成了一个Image组件的建立。(2)Image组件的主要属性如表3-20所示。返回上一页下一页项目7模仿迅雷窗口(3)Image组件支持的图像文件格式。

Bitmap格式:这种图片的文件扩展名为bmp,通常被称为位图。位图属于非压缩的像素矩阵图像,Windows中经常用这种格式存取图片。它占用的空间一般较大。

Icon格式:这种图片的文件扩展名为ico,通常被称为图标。图标属于压缩的像素矩阵图像,显示图标文件时,Stretch属性将无效。

MetaFile格式:通常被称为图元文件。这种图片的文件扩展名为wmf(图元文件)或emf(加强图元文件),属于向量图形,图形缩放时不失真。它占用的空间一般较小。

JPEG格式:这种图片的文件扩展名为jpg。这种图片属于压缩图像,对画质的损伤很小。因此,JPEG是网络图像传输常用的格式。返回上一页下一页项目7模仿迅雷窗口2.TrackBar(1)要在当前窗体上建立一个TrackBar跟踪条组件,只需在组件模板的“Win32”选项卡上选中TrackBar组件按钮,然后在窗体上适当位置单击鼠标左键,便完成一个TrackBar组件的建立。TrackBar跟踪条上有一个具有刻度的滑尺,用于指示当前位置。在运行期,用户可以用鼠标或键盘上的方向键、“PageUp”、“PageDown”键来使其指示位置滑动。每次滑动的步长可以设置。(2)TrackBar组件的常用属性如表3-21所示。(3)跟踪条虽然有多种事件,但是最常用的事件是OnChange事件。当用户通过鼠标或盘改变滑尺的指示位置(Position属性)时,将触发这一事件。返回上一页项目8日历项目说明通过一个日历的小程序说明TabControl和PageControl两个组件的用法及它们之间的区别。选择窗体左边不同的月份会使窗体右边的对应图片产生变化,运行效果如图3-20所示。项目分析1.窗体中的组件(1)选择组件模板“Win32”选项卡,向窗体中添加1个TabControl组件,用于制作日历部分的标签页,把该组件的Tabs属性设置为“January”,“February”,“March”,“April”,“May”,“June”,“July”,“August”,“September”,“October”,“November”,“December”。(2)选择组件模板“Standard”选项卡,在TabControl组件中放置一个标签Label,用于显示“2009年”。返回下一页项目8日历(3)选择组件模板“Sample”选项卡,在TabControl组件中放置一个日历组件Calendar用于显示日历。(4)选择组件模板“Win32”选项卡,向窗体中添加1个PageControl组件,在该组件上单击右键从弹出菜单中选择“NewPage”,按照项目需要添加12个,用于呼应显示日历12个月有不同的画面。(5)选择组件模板“Additional”选项卡,在PageControl组件中的第一个标签页中放置Image组件,用于显示图像,在第二个标签页中放置Shape组件,用于显示图形,其他标签页根据个人喜好放置Image组件或Shape组件。(6)窗体中组件的主要属性如表3-22所示返回上一页下一页项目8日历2.项目中的事件

TabControl组件的OnChange事件,当用户单击了不同的标签页以后会触发该事件。该事件的代码主要通过改变TabIndex属性来显示不同月份的日历,以及控制PageControl相应的标签页发生改变。项目实现返回上一页下一页项目8日历学习支持1.PageControl(1)为扩展应用程序的用户界面,增加窗体的信息容量,通常可以采用分页的形式来设计窗体。PageControl组件为分页组件,是1个可以包含多个页面(也称选顶卡)的容器组件,其中每个页面都可以包含各种组件。PageControl组件的主要属性如表3-23所示。(2)PageControl组件最主要的事件是Onchange事件,当用户改变活动页面时就触发此事件。返回上一页下一页项目8日历(3)使用PageC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论