Delphi快速入门(三)


  1.2.4.3 汉化界面及字体选取 

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

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

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

   这一对话框中包括了上述的所有属性,使得调整字形更为直接容易 。但要声明的是,关于窗体Form来讲,Font属性转变的是窗体中其它部件的显示字形,它 本身的 题目字体是缺省的System字体,不能通过属性来转变 。

  1.2.4.4 使用图形编辑对话框 

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

  您 可以通过图形编辑对话框装入图标,在本例程中,按动Load按钮, 取舍Delphi 2.0ImagesButtonsBrush.bmp文件装入,Bitbtn1就成为一个图标按钮 。另外,Delphi还为您提供了 丰硕的Windows 标准图标按钮 。想 使用它们,转变BitBtn的Kind属性 。消费者 不妨尝试一下, 取舍其它值 可以生成美丽的 标准按钮,如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; 

  用同样的 步骤,在Button2和Button3的OnClick事件响应内复制以上语句,并分别将赋值号后的属性值改为stRoundRect和stEllipse 。为 预防输入 舛误招致程序运行出错, 提议您使Shape1部件的Object Inspector可见,检视属性Shape的各个值并对应输入 。

  在代码编辑器中,Delphi自动 构建的过程以 要害字Procedure开头,消费者 可以在begin…end中间加入自己的程序,也 可以定义变量 。这个程序块对消费者的外部事件(此例中是按动按钮)进行响应 。我们称之为事件 解决过程 。 

1.2.5.2 使用 色彩编辑对话框 

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

  ColorDialog1.Execute;

  Shape1.Brush.Color := ColorDialog1.Color; 

这样,图标按钮的 性能也就 实现了 。

  初学者可能对这样的程序段不能 了解 。其实也是非常 容易的 。查看ColorDialog的Brush属性,就会发现它是个集属性,在其下还有一个Color选项,正是我们想转变的属性 。既然我们想将图形的 色彩变得更加 丰硕多彩,它 本身提供的几种 色彩就已不能满足要求了 。用 色彩编辑器 可以得到更多的 色彩 。程序的第一句用Execute 步骤,使得ColorDialog运行它 本身 。当消费者在对话框中进行操作,选定了一种 色彩时, 即便得TColorDialog对象的一个属性Color置为选定 色彩的值 。将此值赋给Shape1的Brush属性的子属性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(组合框) 。除了MaskEdit在Additional页之外,其它的都在Standard页中 。 

  1.3.1.1 Label部件 

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

  1.3.1.2 Edit、MaskEdit和Memo部件  

  Edit、MaskEdit、Memo部件都是用作 接纳、显示消费者输入文本的 。它们 存在一些 雷同的属性 。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 Box和Combo 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 Button和BitBtn部件

  按钮是Windows常用的部件,前文的例程中我们已经 根本 主宰了Button和BitBtn的主要用法 。它们普通用在对话框中,做为执行某种 性能的 批示 。您也 可 认为它们设置内置返回 性能,将ModelResult属性加以匹配, 可以不用编程,直接实现系统内置的 性能,这丝毫上和Kind属性颇 类似 。 

  1.3.2.2 Speed Button部件 

  Speed Button(加快按钮)部件在Additional页上,是进行工具条 快捷设计的 事实部件 。它惟独一个位图,没有 题目 。需求提起读者 留神的是,用多个Speed Button制作一个工具条时,必须先 搁置一个窗口类部件,如Panel(操作板)、Group Box(群组框)等 。不然试图将加快按钮先制作好再移上去,您会发现它会总是处于窗口类部件下面不可见 。固然,您 可以对加快按钮进行复制、粘贴到窗口类部件上 解决,那就另当别论了 。 

  1.3.2.3 Check Box与Radio Button部件 

  Check Box( 审查框)和Radio Button(无线按钮)部件通常是 等量齐观的,多用作 接纳消费者“是”或“否”的输入 推断 。它们普通都是成组的 搁置在Radio Group或Group Box部件中 。所不同的是,成组的Radio Button是“互锁”的,消费者 取舍定一个后,其它的将自动设置为不选;而Check Box部件则是分立的,您 可以同时选中其中的几个,也 可以一个都不选 。 

  1.3.3 分组、分界部件 

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

1.3.3.1 Group Box、Radio Group及Panel部件 

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

  1.3.3.2 NoteBook、TabSet及TabbedNoteBook部件 

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

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

  在Win95页上还有TabControl、PageControl等部件 。它们关于生成Windows 95 格调的标签集是很主要的 。 

  1.3.3.3 分界部件 

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

  1.3.4 图形、图象部件 

  1.3.4.1 Image部件

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