第 3 章 Windows 应用程序界面设计
description
Transcript of 第 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
《 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 组件概述
《 Delphi 程序设计》
3.1.1 面向对象基本概念1. 类与对象
① 类② 对象
2. 类的封装性、继承性和多态性① 类的封装性② 类的继承性③ 类的多态性
《 Delphi 程序设计》
3.1.2 定义类和使用对象1. 定义类2. 定义子类
type 类 = class( 父类 ) 数据域声明 ; 方法声明首部 ; end;
《 Delphi 程序设计》
3. 使用对象① 声明对象var Form1 : TForm1; ② 对象实例化Application.CreateForm(TForm1, Form1);③ 引用对象中的数据域和调用对象的方法对象 . 数据域对象 . 方法 ( 实际参数表 )④ 释放对象aday.Free;
《 Delphi 程序设计》
4. self 指代对象自身procedure TForm1.FormCreate(Sender: TOb
ject);begin self.Caption:=self.Caption + ‘ 演示程序’ ;end;
《 Delphi 程序设计》
5. as 和 is 运算符Sender as TButton
// 将 Sender 对象转换为一个 TButton 类的对象
Sender is TComponent// 判断 Sender 是否属于 TComponent 类及其子类
《 Delphi 程序设计》
3.1.3 对象的属性、方法和事件
1. 对象的属性① 属性的读写特性:可读写属性和只读属性 ② 属性的作用时间:设计时属性和运行时属性 ③ 引用对象属性对象 . 属性
2. 对象的方法3. 对象的事件
《 Delphi 程序设计》
3.1.4 事件驱动的 Delphi 应用程序1. 组件的事件由消息触发2. Delphi 应用程序由事件驱动
procedure TForm1.Button1Click(Sender: TObject);
begin // 事件处理程序end;
《 Delphi 程序设计》
3.1.5 组件概述1. 组件2. 组件分类
① 控件 窗口控件是能够获得输入焦点的控件。 图形控件是不能获得输入焦点的控件。
② 非可视组件3. 查看组件的属性、方法、事件及其类层次
《 Delphi 程序设计》
图 3.1 组件类图
TComponent组件类
TObj ect
TPersi stent
TControl控件类
TMenuI tem菜单项类
TWinControl窗口控件类
可视化组件 非可视化组件
TCommonDi al og对话框类……
TCustomImageLi st图片列表类
TGraphicControl图形控件类
TTi mer定时器类
《 Delphi 程序设计》
3.2 窗体 Form1. 3.2.1 窗口与窗体2. 3.2.2 窗体的属性、方法和事件
《 Delphi 程序设计》
3.2.1 窗口与窗体1. 1. Windows 窗口2. 2. Delphi 窗体
《 Delphi 程序设计》
3.2.2 窗体的属性、方法和事件
1. 窗体的主要属性① Name 窗体对象名② Caption 窗体标题③ Left 与 Top 窗体位置,左上角在屏幕的坐标④ Height 与 Width 窗体的高度与宽度⑤ Color 窗体工作区的背景颜色⑥ Enabled 窗体的有效性⑦ Visible 窗体的可视性⑧ Icon 窗体标题上的小图标⑨ Font 窗体的字体⑩ Position 窗体运行时的初始位置⑪ WindowState 窗体运行时的初始状态
《 Delphi 程序设计》
2. 窗体的主要方法① Close 关闭窗口② Create 创建并初始化一个窗口对象③ Hide 隐藏窗口④ SetFocus 使窗口获得焦点⑤ SetFocusedControl 使窗口上的控件获得焦
点⑥ Show 显示被隐藏的窗口
《 Delphi 程序设计》
3. 窗体的主要事件① OnCreate 和 OnDestroy 事件② OnShow 和 OnHide 事件③ OnActivate 和 OnDeactivate 事件④ OnClick 和 OnDblClick 事件⑤ OnPaint 事件⑥ OnCanResize 和 OnResize 事件⑦ OnCloseQuery 和 OnClose 事件
《 Delphi 程序设计》
4. 窗体事件的触发次序① 创建窗口时② 由用户操作触发的事件③ 关闭窗口时【例 3.1 】 理解窗体的事件。① 新建应用程序② 添加组件 Label ③ 编写窗体 OnCreate 事件处理程序 ④ 窗体 OnCanResize和OnResize 事件处理
程序
《 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
《 Delphi 程序设计》
3.3.1 标签 LabelLabel 是一种用来显示文字的图形控件,它
不能获得输入焦点,因而只能显示文本,不能编辑,常用来显示不需要修改的文字。
1.标签的主要属性 ① Caption 显示的文字内容
在窗体中引用组件属性的格式如下: 窗体 . 组件 . 属性self.Label1.Caption:=' 你好! ';
《 Delphi 程序设计》
3.3.2 单行编辑框 EditEdit 是一种用于编辑单行文本的窗口
控件,通常用于动态地输入一行文本。1.单行编辑框的属性
① Text 显示的文字内容2.单行编辑框的事件
① OnChange 当 Edit 的 Text 属性值改变时触发
《 Delphi 程序设计》
【例 3.2 】 求一个整数的各位数字。1. 图形界面设计2. 窗口初始化 3. 程序响应输入值 4. 避免程序出现运行错误
① 自定义函数 isInteger(str)
《 Delphi 程序设计》
3.3.3 格式编辑框MaskEdit1. EditMask 属性2. Text 和 EditText 属性
EditText 是运行时属性 【例 3.3 】 使用MaskEdit 编辑单行格式文本。
① 设置文本格式 ② 动态改变单行编辑框的文本
《 Delphi 程序设计》
3.3.4 多行编辑框MemoMemo 用于编辑多行文本。 1. Lines 属性2. Alignment 属性3. WantReturns 属性4. WantTabs 属性5. ScrollBars 属性
《 Delphi 程序设计》
3.3.5 多行 RTF 文本编辑框 RichEdit
1. RichEdit 控件的主要属性① SelStart 和 SelLenght 属性:选中文本块的起始位置和长度。
② DefAttributes 和 SelAttributes 属性:默认字体样式和当前所选字体样式。
③ Paragraph 属性:光标或选中块所在段落的段属性。
2. RichEdit 控件的主要事件① OnSelectionChange 事件
《 Delphi 程序设计》
【例 3.4 】 多行文本编辑框。演示 RichEdit 控件的使用方法。 1. 显示 RichEdit1 的选中块位置2. 剪切、复制和粘贴操作
《 Delphi 程序设计》
3.3.6 渐变编辑框 SpinEditSpinEdit 是一个带有上下箭头的编辑框,
其中数据能够按照指定增量逐渐变化。1.SpinEdit 属性
① Value 属性表示值,② Increment 属性表示每次的变化量。③ MaxValue 和MinValue 属性表示数据变
化范围,即最大值与最小值。2.SpinEdit 主要事件有 OnChange 事件
《 Delphi 程序设计》
3.4 按钮1. 3.4.1 按钮Button
2. 3.4.2 图像按钮BitBtn
3. 3.4.3 加速按钮 SpeedButton
《 Delphi 程序设计》
3.4.1 按钮 Button1. Button 按钮的主要属性
① Caption 属性:按钮的标题。② Default 属性:默认按钮,即按下 Enter键,将触发 Button 的 OnClick 事件。
③ Cancel 属性:取消按钮,即按下 Esc键,将触发 Button 的 OnClose 事件。
2. Button 按钮的主要事件① OnClick 事件
《 Delphi 程序设计》
3.4.2 图像按钮 BitBtn1. Kind 属性决定 BitBtn 的种类。取值为 bkYes 、 bkNo等
2. Glyph 属性为 BitBtn 指定一个 .bmp 文件,显示在按钮表面。
3. Layout 属性控制位图与文本的相对位置,取值为 blGlyphLeft(位图居左,默认值) 、 blGlyphRight等
《 Delphi 程序设计》
3.4.3 加速按钮 SpeedButton1. Down 属性:按下状态 2. Flat 属性:凸现 3. GroupIndex属性:成组
《 Delphi 程序设计》
【例 3.5 】 设计“计算器”。使用 Edit 、 BitBtn 与 SpeedButton 控件 1. 自定义两个过程用于输入和运算2. 窗口初始化 3. 数字和运算符按钮的事件处理程序 4. 清除和退格按钮 5. 关于自定义过程和函数的说明 6. 关于本例的说明
《 Delphi 程序设计》
3.5 选项按钮1. 3.5.1 复选框 CheckBox2. 3.5.2 单选按钮 RadioButton 与组框GroupBox
3. 3.5.3 单选按钮组 RadioGroup
《 Delphi 程序设计》
3.5.1 复选框 CheckBoxCheckBox是一个带标签的方框,方
框中打勾号表示选择,表示不选择。单击可改变状态。 复选框选中与否的状态用 Checked 属
性表示。
《 Delphi 程序设计》
3.5.2 单选按钮 RadioButton与组框 GroupBox
1.单选按钮单选按钮 RadioButton 用来显示一组互斥的选择。
位于同一个组件中的多个单选按钮构成一个组,实
现单选。 单选按钮选中与否的状态用 Checked 属性表示。
2.组框为一组相关联的组件提供一个可视分组,
《 Delphi 程序设计》
3.5.3 单选按钮组 RadioGroup
单选按钮组 RadioGroup 是一个组框与一组单选按钮的组合。 其特有的属性有:
1.Columns ,指明 RadioButton 的列数,取值范围为 1~ 16
2.Items ,指定各单选按钮的显示文本3.ItemIndex,指示当前被选中 RadioB
utton 的序号
《 Delphi 程序设计》
3.6 列表框1. 3.6.1 列表框 ListBox2. 3.6.2 组合框 ComboBox3. 3.6.3 复选列表框 CheckListBox
《 Delphi 程序设计》
3.6.1 列表框 ListBox1. 列表框的主要属性
① Items 属性② ItemIndex属性③ Columns 属性④ MultiSelect 属性⑤ Selected 属性
2. 列表框的主要方法① Clear 方法,清除列表框中的所有数据项。
3. 列表框的主要事件① OnChange 事件:当用户在列表框中选择新的数
据项时触发。② OnClick 事件:当用户单击列表框时触发。
《 Delphi 程序设计》
3.6.2 组合框 ComboBox1. 组合框的主要属性
① Style 属性:指定组合框的类型,取值为 csDropDown(可编辑且有下拉列表)、 csDropDownList(不可编辑只有下拉列表)、 csSimple(只可编辑没有下拉列表)。
2. 组合框的主要方法3. 组合框的主要事件
① OnChange 事件:当用户在下拉列表中选择新的数据项,或在编辑框中修改了数据时触发。
② OnDropDown 事件:当用户单击编辑框右端的箭头按钮,打开下拉列表时触发。
《 Delphi 程序设计》
【例 3.6 】 设计字体对话框。 演示单选按钮、复选框、列表框和组合框等组件的使用方法。
1. 改变文本颜色 2. 改变字形 3. 改变段落对齐方式 4. 改变字体 5. 改变字号
《 Delphi 程序设计》
3.6.3 复选列表框 CheckListBox1. Checked 属性:运行时属性,表示每
个数据项的状态。 Checked 是一个数组,元素类型为 boolean 。
2. OnClickCheck 事件:单击数据项前的复选框时触发。
《 Delphi 程序设计》
【例 3.7 】 管理关键词库。演示 CheckListBox的多项选择用法 1. 显示选中项 2. 添加数据项 3. 删除当前数据项 4. 删除所有选中数据项
《 Delphi 程序设计》
3.7 界面布局1. 3.7.1 布局工具2. 3.7.2 控件的包含关系3. 3.7.3 布局属性 Align与 Anchor4. 3.7.4 分隔条 Splitter
《 Delphi 程序设计》
3.7.1 布局工具1. 选择多个组件2. 对齐对话框3. 调整控件大小的 Size 对话框4. 对齐工具栏
《 Delphi 程序设计》
3.7.2 控件的包含关系1. 面板( Panel)2. 控件的 Parent 属性
《 Delphi 程序设计》
3.7.3 布局属性 Align 与 Anchor1. Align 属性
① alNone② alLeft 、 alRight 、 alTop 和 alBottom③ alClient
2. Anchor 属性
《 Delphi 程序设计》
3.7.4 分隔条 Splitter1. Splitter 的主要属性
① Align 属性② Beveled 属性③ MinSize 属性
2. Splitter 的主要事件① OnCanResize 事件② OnMoved 事件【例 3.8 】 分隔窗口。
《 Delphi 程序设计》
3.8 定时器 TimerTimer 是一个非可视组件1. Enabled 属性控制定时器的开关状态。 2. Interval 属性控制操作执行的时间间隔, 3. 只有一个事件 OnTimer 。 【例 3.9】 字符串的滚动显示。
使用 Edit 、 SpinEdit 及 Timer 组件。 ① 字符串实现滚动 ② 控制滚动速度
《 Delphi 程序设计》
实验 3 Windows 应用程序界面设计1. 整数进制转换。2. 货币转换3. 多项选择与数据移动