第 3 章 Windows 应用程序界面设计

48
Delphi 程程程程第 3 第 Windows 第第第第第第第第 1. 3.1 第第第第第第第 2. 3.2 Form 3. 3.3 第第第第第第第第第 4. 3.4 第第 5. 3.5 第第第第 6. 3.6 第第第 7. 3.7 第第第第 8. 3.8 第第第 Timer

description

第 3 章 Windows 应用程序界面设计. 3.1 可视化编程基础 3.2 窗体 Form 3.3 文本显示与编辑控件 3.4 按钮 3.5 选项按钮 3.6 列表框 3.7 界面布局 3.8 定时器 Timer. 3.1 可视化编程基础. 3.1.1 面向对象基本概念 3.1.2 定义类和使用对象 3.1.3 对象的属性、方法和事件 3.1.4 事件驱动的 Delphi 应用程序 3.1.5 组件概述. 3.1.1 面向对象基本概念. 类与对象 类 对象 类的封装性、继承性和多态性 类的封装性 类的继承性 - PowerPoint PPT Presentation

Transcript of 第 3 章 Windows 应用程序界面设计

Page 1: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

第 3 章 Windows 应用程序界面设计1. 3.1 可视化编程基础2. 3.2 窗体Form

3. 3.3 文本显示与编辑控件4. 3.4 按钮5. 3.5 选项按钮6. 3.6 列表框7. 3.7 界面布局8. 3.8 定时器Timer

Page 2: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.1 可视化编程基础1. 3.1.1 面向对象基本概念2. 3.1.2 定义类和使用对象3. 3.1.3 对象的属性、方法和事件4. 3.1.4 事件驱动的D elphi应用程序5. 3.1.5 组件概述

Page 3: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.1.1 面向对象基本概念1. 类与对象

① 类② 对象

2. 类的封装性、继承性和多态性① 类的封装性② 类的继承性③ 类的多态性

Page 4: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.1.2 定义类和使用对象1. 定义类2. 定义子类

type 类 = class( 父类 ) 数据域声明 ; 方法声明首部 ; end;

Page 5: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3. 使用对象① 声明对象var Form1 : TForm1; ② 对象实例化Application.CreateForm(TForm1, Form1);③ 引用对象中的数据域和调用对象的方法对象 . 数据域对象 . 方法 ( 实际参数表 )④ 释放对象aday.Free;

Page 6: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

4. self 指代对象自身procedure TForm1.FormCreate(Sender: TOb

ject);begin self.Caption:=self.Caption + ‘ 演示程序’ ;end;

Page 7: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

5. as 和 is 运算符Sender as TButton

// 将 Sender 对象转换为一个 TButton 类的对象

Sender is TComponent// 判断 Sender 是否属于 TComponent 类及其子类

Page 8: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.1.3 对象的属性、方法和事件

1. 对象的属性① 属性的读写特性:可读写属性和只读属性 ② 属性的作用时间:设计时属性和运行时属性 ③ 引用对象属性对象 . 属性

2. 对象的方法3. 对象的事件

Page 9: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.1.4 事件驱动的 Delphi 应用程序1. 组件的事件由消息触发2. Delphi 应用程序由事件驱动

procedure TForm1.Button1Click(Sender: TObject);

begin // 事件处理程序end;

Page 10: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.1.5 组件概述1. 组件2. 组件分类

① 控件 窗口控件是能够获得输入焦点的控件。 图形控件是不能获得输入焦点的控件。

② 非可视组件3. 查看组件的属性、方法、事件及其类层次

Page 11: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

图 3.1 组件类图

TComponent组件类

TObj ect

TPersi stent

TControl控件类

TMenuI tem菜单项类

TWinControl窗口控件类

可视化组件 非可视化组件

TCommonDi al og对话框类……

TCustomImageLi st图片列表类

TGraphicControl图形控件类

TTi mer定时器类

Page 12: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.2 窗体 Form1. 3.2.1 窗口与窗体2. 3.2.2 窗体的属性、方法和事件

Page 13: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.2.1 窗口与窗体1. 1. Windows 窗口2. 2. Delphi 窗体

Page 14: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.2.2 窗体的属性、方法和事件

1. 窗体的主要属性① Name 窗体对象名② Caption 窗体标题③ Left 与 Top 窗体位置,左上角在屏幕的坐标④ Height 与 Width 窗体的高度与宽度⑤ Color 窗体工作区的背景颜色⑥ Enabled 窗体的有效性⑦ Visible 窗体的可视性⑧ Icon 窗体标题上的小图标⑨ Font 窗体的字体⑩ Position 窗体运行时的初始位置⑪ WindowState 窗体运行时的初始状态

Page 15: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

2. 窗体的主要方法① Close 关闭窗口② Create 创建并初始化一个窗口对象③ Hide 隐藏窗口④ SetFocus 使窗口获得焦点⑤ SetFocusedControl 使窗口上的控件获得焦

点⑥ Show 显示被隐藏的窗口

Page 16: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3. 窗体的主要事件① OnCreate 和 OnDestroy 事件② OnShow 和 OnHide 事件③ OnActivate 和 OnDeactivate 事件④ OnClick 和 OnDblClick 事件⑤ OnPaint 事件⑥ OnCanResize 和 OnResize 事件⑦ OnCloseQuery 和 OnClose 事件

Page 17: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

4. 窗体事件的触发次序① 创建窗口时② 由用户操作触发的事件③ 关闭窗口时【例 3.1 】 理解窗体的事件。① 新建应用程序② 添加组件 Label ③ 编写窗体 OnCreate 事件处理程序 ④ 窗体 OnCanResize和OnResize 事件处理

程序

Page 18: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.3 文本显示与编辑控件1. 3.3.1 标签 Label2. 3.3.2 单行编辑框 Edit3. 3.3.3 格式编辑框 MaskEdit4. 3.3.4 多行编辑框 Memo5. 3.3.5 多行 RTF 文本编辑框

RichEdit6. 3.3.6 渐变编辑框 SpinEdit

Page 19: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.3.1 标签 LabelLabel 是一种用来显示文字的图形控件,它

不能获得输入焦点,因而只能显示文本,不能编辑,常用来显示不需要修改的文字。

1.标签的主要属性 ① Caption 显示的文字内容

在窗体中引用组件属性的格式如下: 窗体 . 组件 . 属性self.Label1.Caption:=' 你好! ';

Page 20: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.3.2 单行编辑框 EditEdit 是一种用于编辑单行文本的窗口

控件,通常用于动态地输入一行文本。1.单行编辑框的属性

① Text 显示的文字内容2.单行编辑框的事件

① OnChange 当 Edit 的 Text 属性值改变时触发

Page 21: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

【例 3.2 】 求一个整数的各位数字。1. 图形界面设计2. 窗口初始化 3. 程序响应输入值 4. 避免程序出现运行错误

① 自定义函数 isInteger(str)

Page 22: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.3.3 格式编辑框MaskEdit1. EditMask 属性2. Text 和 EditText 属性

EditText 是运行时属性 【例 3.3 】 使用MaskEdit 编辑单行格式文本。

① 设置文本格式 ② 动态改变单行编辑框的文本

Page 23: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.3.4 多行编辑框MemoMemo 用于编辑多行文本。 1. Lines 属性2. Alignment 属性3. WantReturns 属性4. WantTabs 属性5. ScrollBars 属性

Page 24: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.3.5 多行 RTF 文本编辑框 RichEdit

1. RichEdit 控件的主要属性① SelStart 和 SelLenght 属性:选中文本块的起始位置和长度。

② DefAttributes 和 SelAttributes 属性:默认字体样式和当前所选字体样式。

③ Paragraph 属性:光标或选中块所在段落的段属性。

2. RichEdit 控件的主要事件① OnSelectionChange 事件

Page 25: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

【例 3.4 】 多行文本编辑框。演示 RichEdit 控件的使用方法。 1. 显示 RichEdit1 的选中块位置2. 剪切、复制和粘贴操作

Page 26: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.3.6 渐变编辑框 SpinEditSpinEdit 是一个带有上下箭头的编辑框,

其中数据能够按照指定增量逐渐变化。1.SpinEdit 属性

① Value 属性表示值,② Increment 属性表示每次的变化量。③ MaxValue 和MinValue 属性表示数据变

化范围,即最大值与最小值。2.SpinEdit 主要事件有 OnChange 事件

Page 27: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.4 按钮1. 3.4.1 按钮Button

2. 3.4.2 图像按钮BitBtn

3. 3.4.3 加速按钮 SpeedButton

Page 28: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.4.1 按钮 Button1. Button 按钮的主要属性

① Caption 属性:按钮的标题。② Default 属性:默认按钮,即按下 Enter键,将触发 Button 的 OnClick 事件。

③ Cancel 属性:取消按钮,即按下 Esc键,将触发 Button 的 OnClose 事件。

2. Button 按钮的主要事件① OnClick 事件

Page 29: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.4.2 图像按钮 BitBtn1. Kind 属性决定 BitBtn 的种类。取值为 bkYes 、 bkNo等

2. Glyph 属性为 BitBtn 指定一个 .bmp 文件,显示在按钮表面。

3. Layout 属性控制位图与文本的相对位置,取值为 blGlyphLeft(位图居左,默认值) 、 blGlyphRight等

Page 30: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.4.3 加速按钮 SpeedButton1. Down 属性:按下状态 2. Flat 属性:凸现 3. GroupIndex属性:成组

Page 31: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

【例 3.5 】 设计“计算器”。使用 Edit 、 BitBtn 与 SpeedButton 控件 1. 自定义两个过程用于输入和运算2. 窗口初始化 3. 数字和运算符按钮的事件处理程序 4. 清除和退格按钮 5. 关于自定义过程和函数的说明 6. 关于本例的说明

Page 32: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.5 选项按钮1. 3.5.1 复选框 CheckBox2. 3.5.2 单选按钮 RadioButton 与组框GroupBox

3. 3.5.3 单选按钮组 RadioGroup

Page 33: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.5.1 复选框 CheckBoxCheckBox是一个带标签的方框,方

框中打勾号表示选择,表示不选择。单击可改变状态。 复选框选中与否的状态用 Checked 属

性表示。

Page 34: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.5.2 单选按钮 RadioButton与组框 GroupBox

1.单选按钮单选按钮 RadioButton 用来显示一组互斥的选择。

位于同一个组件中的多个单选按钮构成一个组,实

现单选。 单选按钮选中与否的状态用 Checked 属性表示。

2.组框为一组相关联的组件提供一个可视分组,

Page 35: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.5.3 单选按钮组 RadioGroup

单选按钮组 RadioGroup 是一个组框与一组单选按钮的组合。 其特有的属性有:

1.Columns ,指明 RadioButton 的列数,取值范围为 1~ 16

2.Items ,指定各单选按钮的显示文本3.ItemIndex,指示当前被选中 RadioB

utton 的序号

Page 36: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.6 列表框1. 3.6.1 列表框 ListBox2. 3.6.2 组合框 ComboBox3. 3.6.3 复选列表框 CheckListBox

Page 37: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.6.1 列表框 ListBox1. 列表框的主要属性

① Items 属性② ItemIndex属性③ Columns 属性④ MultiSelect 属性⑤ Selected 属性

2. 列表框的主要方法① Clear 方法,清除列表框中的所有数据项。

3. 列表框的主要事件① OnChange 事件:当用户在列表框中选择新的数

据项时触发。② OnClick 事件:当用户单击列表框时触发。

Page 38: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.6.2 组合框 ComboBox1. 组合框的主要属性

① Style 属性:指定组合框的类型,取值为 csDropDown(可编辑且有下拉列表)、 csDropDownList(不可编辑只有下拉列表)、 csSimple(只可编辑没有下拉列表)。

2. 组合框的主要方法3. 组合框的主要事件

① OnChange 事件:当用户在下拉列表中选择新的数据项,或在编辑框中修改了数据时触发。

② OnDropDown 事件:当用户单击编辑框右端的箭头按钮,打开下拉列表时触发。

Page 39: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

【例 3.6 】 设计字体对话框。 演示单选按钮、复选框、列表框和组合框等组件的使用方法。

1. 改变文本颜色 2. 改变字形 3. 改变段落对齐方式 4. 改变字体 5. 改变字号

Page 40: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.6.3 复选列表框 CheckListBox1. Checked 属性:运行时属性,表示每

个数据项的状态。 Checked 是一个数组,元素类型为 boolean 。

2. OnClickCheck 事件:单击数据项前的复选框时触发。

Page 41: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

【例 3.7 】 管理关键词库。演示 CheckListBox的多项选择用法 1. 显示选中项 2. 添加数据项 3. 删除当前数据项 4. 删除所有选中数据项

Page 42: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.7 界面布局1. 3.7.1 布局工具2. 3.7.2 控件的包含关系3. 3.7.3 布局属性 Align与 Anchor4. 3.7.4 分隔条 Splitter

Page 43: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.7.1 布局工具1. 选择多个组件2. 对齐对话框3. 调整控件大小的 Size 对话框4. 对齐工具栏

Page 44: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.7.2 控件的包含关系1. 面板( Panel)2. 控件的 Parent 属性

Page 45: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.7.3 布局属性 Align 与 Anchor1. Align 属性

① alNone② alLeft 、 alRight 、 alTop 和 alBottom③ alClient

2. Anchor 属性

Page 46: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.7.4 分隔条 Splitter1. Splitter 的主要属性

① Align 属性② Beveled 属性③ MinSize 属性

2. Splitter 的主要事件① OnCanResize 事件② OnMoved 事件【例 3.8 】 分隔窗口。

Page 47: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

3.8 定时器 TimerTimer 是一个非可视组件1. Enabled 属性控制定时器的开关状态。 2. Interval 属性控制操作执行的时间间隔, 3. 只有一个事件 OnTimer 。 【例 3.9】 字符串的滚动显示。

使用 Edit 、 SpinEdit 及 Timer 组件。 ① 字符串实现滚动 ② 控制滚动速度

Page 48: 第 3 章  Windows 应用程序界面设计

《 Delphi 程序设计》

实验 3 Windows 应用程序界面设计1. 整数进制转换。2. 货币转换3. 多项选择与数据移动