Delphi快速入门(三)

1.2.4.3

汉化界面及字体选取                 ---->1.3.4.1 Image部件

         如果您的Windows95系统中安装了中文系统,对界面做汉化是极其方便的。例如,您可以将Button1Caption属性改成“&R矩形”,同样地可改变其它部件的属性,将窗体做成中文的操作界面。

         若对中、西文字体不满意,则可以调整Font属性以满足您的要求。Font属性的前面,有一个小小的“+”号,这说明它表征的是集属性,也即属性不再是一个单值,而是一个属性的集合。双击FontObject Inspector将在下面扩充显示它的其它属性。Color用来表示文本的颜色,Name定义了字体名,如System,MsSerif,Arial,宋体,黑体等。Style下又拥有四个属性:fsBold,fsItalic,fsUnderlinefsTrikeOut。如果想让字体有其中的某种风格,可把相应的属性值设成True

          Font对话框可以更为直接地设定以上属性。Font属性右侧值段有带省略号的按钮,单击它可以激活Font对话框,如图1.7所示:

          这一对话框中包含了上述的全部属性,使得调整字形更为直接方便。但要申明的是,对于窗体Form来讲,Font属性改变的是窗体中其它部件的显示字形,它本身的标题字体是缺省的System字体,不能通过属性来改变。

1.2.4.4使用图形编辑对话框 

          最后,我们用图标按钮BitBtn1来控制Shape部件的颜色。选中图标按钮,将它的Caption属性改为“&Color(或“&C颜色”)。可以在按钮中加入一个图标来形象地表述它的功能。选用Object Inspector中的Glyph属性,点动值段的三点按钮,弹出图形编辑对话框。

           您可以通过图形编辑对话框装入图标,在本例程中,按动Load按钮,选择/Delphi 2.0/Images/Buttons/Brush.bmp文件装入,Bitbtn1就成为一个图标按钮。另外,Delphi还为您提供了丰富的Windows标准图标按钮。想运用它们,改变BitBtnKind属性。用户不妨尝试一下,选择其它值可以生成漂亮的标准按钮,如OK,Cancel等等。这会使您在以后的程序开发中受益匪浅。

至此,界面的设计工作就已完成了。运行一下观察效果,别忘记保存您的库单元文件、工程文件。 

1.2.5 编写事件处理过程 

           完成用户界面,只是建立了一个“骨架”,下面要做的便是给程序加入“灵魂”,也即,使它能够完成所要求的功能。 

1.2.5.1 为用户操作建立“事件”

          单击窗体上的“Rectangle”按钮,在Object Inspector中,点动“Events”页标签,出现事件窗口。在本例程中,我们只关心OnClick事件,即按钮接收到左键单击时应用程序所作出的反应。在Object Inspector窗口中双击OnClick事件右端的值段,会使得Delphi激活库代码编辑器,并将光标停在该按钮所对应的过程的begin...end之间。“Rectangle”按钮的功能是使Shape部件的形状为矩形。联系前文我们查看过的Shape部件的“Shape”属性,现在,我们要做的是在程序中控制部件的属性。

         在光标处键入以下的程序段: 

  

Shape1.Shape := stRectangle; 

          用同样的方法,在Button2Button3OnClick事件响应内复制以上语句,并分别将赋值号后的属性值改为stRoundRectstEllipse。为防止输入错误导致程序运行出错,建议您使Shape1部件的Object Inspector可见,检视属性Shape的各个值并对应输入。

  在代码编辑器中,

Delphi自动建立的过程以关键字Procedure开头,用户可以在begin…end之间加入自己的程序,也可以定义变量。这个程序块对用户的外部事件(此例中是按动按钮)进行响应。我们称之为事件处理过程。 

1.2.5.2 使用颜色编辑对话框 

       图标按钮“Color”要控制部件Shape1的颜色,我们可以调入颜色编辑对话框,用以选择要变成的颜色。这时就要用到运行时不可视的部件ColorDialog了。同样地使图标按钮BitBtn1响应OnClick事件,在它的过程中加入以下的语句:

  ColorDialog1.Execute;

  

 

Shape1.Brush.Color := ColorDialog1.Color; 

这样,图标按钮的功能也就完成了。

        初学者可能对这样的程序段不能理解。其实也是十分简单的。查看ColorDialogBrush属性,就会发现它是个集属性,在其下还有一个Color选项,正是我们想改变的属性。既然我们想将图形的颜色变得更加丰富多彩,它本身提供的几种颜色就已不能满足要求了。用颜色编辑器可以得到更多的色彩。程序的第一句用Execute方法,使得ColorDialog运行它本身。当用户在对话框中进行操作,选定了一种颜色时,即使得TColorDialog对象的一个属性Color置为选定颜色的值。将此值赋给Shape1Brush属性的子属性Color,就将选定的颜色加到了图形上。

读者的要求可能会是,怎样尽快的了解这些这些方法、属性和域呢?下文对使用联机帮助的简单介绍可能会对您有所裨益。 

1.2.6 使用联机帮助Help 

        事实上,使用联机帮助是您全面地了解可用的方法、对象的域、属性等信息的最快捷途径。您还可以参考Delphi给定的例程。较为简单有效的方法是使用Help中的搜索功能。如果您对一个对象知之甚少,选用主菜单中的Help|Help Topics项,在弹出的帮助对话框,选用Indexes(“索引”)页,Delphi 2.0会提示您输入要检索的主题。以您想用的部件的对象名作为检索主题词,可以参阅很多基本的信息。例如,上文的例程中,在编辑框中键入对象的名称TColorDialog,在词条中就会出现该主题,按动Display按钮显示出TColorDialog的帮助信息。查看method,可以找到能应用在CclorDialog1上的方法Execute;仔细阅读它的功能,上述的编程便不难理解了。Properties中提供了部件的所有属性,在关键属性Key Properties前加上了“金钥匙”,提供了详尽的说明。在Task中您可以查阅该对象的其它相关主题,还可以参阅Example中的应用例程。用帮助窗口的Edit各种功能进行复制、剪贴等操作。

如果您已经对对象有一定的了解,想查阅它的具体方法、域等,可以直接用主题词进行检索。 

         以上,我们已经完成了简单的例程。运行您的程序,选用各个按钮改变图形的颜色和形状。如图1.9所示。虽然它只是一个“小玩具”,却直观地给您一个用Delphi编程的印象。对比一下您亲手编制的程序量和程序的功能,您就会理解Delphi为程序员提供了怎样的方便。

1.3 Delphi 2.0的可视化部件用法简介 

          本节中,我们将较为深入地讲解Delphi的部件。这是编制大型复杂应用程序的必由之路。下面,我们将对各种部件分类进行简单的介绍,以便于您在编程时能够较快地了解有哪些部件可能会满足您的要求,并对其重要的方法、属性等有一个大致的了解。

  基本技巧、工具的介绍在本章的第

4节中,交互阅读这两部分,多创制几个试验程序,有助于您迅速进入Delphi世界,尽早将这一精妙软件用于实际工作中。 

1.3.1 常用的文本相关部件 

        以下的部件以各种格式显示文本,其中有些是文本和数据输入的途径。它们是Label(标签)Edit(文本编辑)MaskEdit(格式编辑)Memo(备注)List Box(列表框)Combo Box(组合框)。除了MaskEditAdditional页之外,其它的都在Standard页中。 

1.3.1.1 Label部件 

        Label(标签)一般放在对象的旁边,用来标记这些对象,从而对用户的操作进行提示,也可以用来显示其它信息。您可以在标签中设置热键,也即在Caption属性值段中输入含有“&”的字串,当用户使用“Alt+关键字母”时,将自动选中它所指向的对象。方法是设置Label部件的FocusControl属性,在值段中,选用与它关联对象的对象名。 

1.3.1.2 EditMaskEditMemo部件  

        EditMaskEditMemo部件都是用作接收、显示用户输入文本的。它们具有一些相同的属性。ReadOnly在运行时间内控制对象是否可以进行Windows的操作,当此值为False时,该框内的文本就不能被复制到剪贴板上。MaxLength可以设置输入文本的长度限制。用PasswordChar属性可以按照显示隐蔽密码的方法显示用户输入文本,例如,它的缺省值为“*”,运行时,您的输入将用“*”来显示,从而提供了一种安全措施。您可能也发现了,当一个字段被加上高亮度显示时,按键操作会将这一字段删除,替换成当前的键盘输入。这种设置为操作提供了方便,您不必每次先删除原来的文本;但也可能会导致误删文本。将AutoSelect属性设置成False,这种替代功能就被取消了。

         MaskEdit是格式文本输入对象。它的EditMask属性为它提供了过滤文本的格式。点动这一属性的省略按钮,会弹出过滤编辑对话框,除了Delphi为您提供的几种屏蔽格式,您也可以自己编写,查阅“帮助”,会为您提供更详细的用法介绍。

         Memo是备注框,与以上对象不同的是,它可以接收多行文本输入。将ScrollBars设置成ssVertical,可以为它加上一个垂直的滚行条。Align属性调整该对象在窗口中的对齐情况,有alNone(无对齐指定)alBottom(底部对齐)alClient(全窗口显示)等可以选择;而Alignment属性则决定了文本在框中的对齐显示格式。Lines属性访问的文本被存储在一个TStrings对象中,按动它的省略按钮,可以通过对话框向它增加文本,也可以用程序对这一属性进行操作,以达到修改或增加备注文本的目的。 

1.3.1.3 List BoxCombo Box部件 

          List Box(列表框)Combo Box(组合框)都显示列表项目,所不同的是组合框占用较少的空间。常见的Windows操作系统中,显示可用磁盘驱动器时,用的就是组合框。列表框则提供了一个项目列表以供选择,如Windows打开文件操作时显示文件列表的就是List Box

  下列程序段将

Edit1的文本加入到ListBox1中,并清空Edit1中的文本: 

 procedure TForm1.AddButtonClick(Sender:TObject);

 begin

ListBox1.Items.Add(Edit1.text);

Edit1.Text := ‘’;

 end; 

常见的组合框初始化用以下的语句可以实现,它用下拉式列表框的第一项来初始化组合框的缺省值: 

procedure TForm1.ComboBox1Text(Sender:TObject);

begin

if ComboBox1.Text = ‘’then

ComboBox1.Text := ComboBox1.Items.String[1] ;

   

 

end;

以上就是文本输入的基本部件。 

1.3.2 按钮和检查框部件 

1.3.2.1 ButtonBitBtn部件

        按钮是Windows常用的部件,前文的例程中我们已经基本掌握了ButtonBitBtn的主要用法。它们一般用在对话框中,做为执行某种功能的指示。您也可以为它们设置内置返回功能,将ModelResult属性加以匹配,可以不用编程,直接实现系统内置的功能,这一点上和Kind属性颇类似。 

1.3.2.2 Speed Button部件 

         Speed Button(加速按钮)部件在Additional页上,是进行工具条快速设计的理想部件。它只有一个位图,没有标题。需要提起读者注意的是,用多个Speed Button制作一个工具条时,必须先放置一个窗口类部件,如Panel(操作板)Group Box(群组框)等。否则试图将加速按钮先制作好再移上去,您会发现它会总是处于窗口类部件下面不可见。当然,您可以对加速按钮进行复制、粘贴到窗口类部件上处理,那就另当别论了。 

1.3.2.3 Check BoxRadio Button部件 

        Check Box(检查框)Radio Button(无线按钮)部件通常是相提并论的,多用作接收用户“是”或“否”的输入判别。它们一般都是成组的放置在Radio GroupGroup Box部件中。所不同的是,成组的Radio Button是“互锁”的,用户选择定一个后,其它的将自动设置为不选;而Check Box部件则是分立的,您可以同时选中其中的几个,也可以一个都不选。 

1.3.3 分组、分界部件 

        分组部件把其它的部件组合成一组,例如上述的无线按钮部件Radio Button,就需要放入以下的成组部件中。分界部件用于在窗口中产生边界和区域,以区别于其它区域。 

1.3.3.1 Group BoxRadio GroupPanel部件 

        Group Box(群组框)Radio Group(选项按钮组)部件都可以将部件分类、成组。它们都有标题,可以用文字表征成组部件的标题或信息。Radio Group可以进行ColumnItem属性的设定,以决定其上的无线按钮的提示文本及显示格式。Panel部件也可以达到将部件分组的目的。通过编程向窗口加一个操作板部件,以书写提示和帮助信息,也不失为一种好方法。以上三个部件都在Standard页。 

1.3.3.2 NoteBookTabSetTabbedNoteBook部件 

        记事本部件NoteBook一般和标签集部件TabSet共同使用,用来创制含有标签的重叠多窗体窗口。Pages属性包含了一个页名列表,在编程时,将TabSetTabs属性设置成NoteBookPages属性,就可以使页标签和相应的窗体对应起来。

        另外一个部件TabbedNoteBook是带有标签的多窗体窗口,不过,它的页标签设在窗口的上面。它们相当于多个分组部件的集合,每次查看其中的一页。以上三个部件在Win 3.1页。

        在Win95页上还有TabControlPageControl等部件。它们对于生成Windows 95风格的标签集是很重要的。 

1.3.3.3 分界部件 

         在Win 3.1页上,还有Header(表头)部件,它在窗口中产生一个凸起的题条,提供了一个可视化的文本显示区域。Additional页的Bevel(立体框)部件提供了一个方框,它的单一线条或整个边框都可以通过Style属性设置为外凸或内凹,可以美化窗口。在Win95页上,HeaderControlStatusBar等部件,为您使用Winows95风格的界面提供了重要元素。 

1.3.4 图形、图象部件 

1.3.4.1 Image部件

         图象部件ImageAdditional页上,用来在窗口中显示一幅图片,可以在picture属性中调入图象文件。Delphi支持位图(.BMP)、图标(.ICO)、图元(.WFM)三种文件格式。比较重要的属性是AutosizeStrech。它们决定了图象在窗口中的显示尺寸。Autosize属性为True表示按原尺寸显示,Strech属性为True表示图象按对象图框的大小显示,这时图象的大小可以人为改变。

DELPHI快速入门教程 DELPHI基础教程 目录   第一章 Delphi快速入门(一)   第一章 Delphi快速入门(二)   第一章 Delphi快速入门)   第一章 Delphi快速入门(四)   第一章 Delphi快速入门(五)   第二章 Delphi面向对象的编程方法(一)   第二章 Delphi面向对象的编程方法(二)   第二章 Delphi面向对象的编程方法()   第二章 Delphi面向对象的编程方法(四)   第章 字符串列表及应用(一)   第章 字符串列表及应用(二)   第四章 文本编辑器的设计(一)   第四章 文本编辑器的设计(二)   第五章 Delphi图形图像编程(一)   第五章 Delphi图形图像编程(二)   第六章 文件管理(一)   第六章 文件管理(二)   第六章 文件管理()   第七章 剪贴板和动态数据交换(一)   第七章 剪贴板和动态数据交换(二)   第八章 对象链接与嵌入(一)   第八章 对象链接与嵌入(二)   第九章 Delphi拖放编程   第十章 动态链接库编程(一)   第十章 动态链接库编程(二)   第十一章 Delphi应用程序的应用(一)   第十一章 Delphi应用程序的应用(二)   第十二章 异常处理与程序调试(一)   第十二章 异常处理与程序调试(二)   第十二章 异常处理与程序调试()   第十章 Delphi开发数据库应用程序概述(一)   第十章 Delphi开发数据库应用程序概述(二)   第十四章 简单数据库应用的创建及MASTAPP介绍(一)   第十四章 简单数据库应用的创建及MASTAPP介绍(二)   第十四章 简单数据库应用的创建及MASTAPP介绍()   第十五章 数据访问部件的应用及编程(一)   第十五章 数据访问部件的应用及编程(二)   第十五章 数据访问部件的应用及编程()   第十六章 数据浏览部件的应用及编程(一)   第十六章 数据浏览部件的应用及编程(二)   第十七章 SQL编程(一)   第十七章 SQL编程(二)   第十八章 Delphi客户服务器应用开发(一)   第十八章 Delphi客户服务器应用开发(二)   第十八章 Delphi客户服务器应用开发()   第十八章 Delphi客户服务器应用开发(四)   第十九章 Delphi自定义部件开发(一)   第十九章 Delphi自定义部件开发(二)   第十九章 Delphi自定义部件开发()   第十九章 Delphi自定义部件开发(四)   第二十章 开发Delphi对象式数据管理功能(一)   第二十章 开发Delphi对象式数据管理功能(二)   第二十章 开发Delphi对象式数据管理功能()   第二十章 开发Delphi对象式数据管理功能(四)   第二十章 开发Delphi对象式数据管理功能(五) 源自pconline
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值