1 / 40

第 5 章:常用控件

第 5 章:常用控件. 常用控件的学习目标. 掌握常用控件的属性 属性名及其含义 掌握常用控件的方法 方法名称及其功能 掌握常用控件的事件 事件名称、事件触发的条件和时机 与控件相关的常见设计思想、算法 控件数组. 控件 —— 命令按钮( CommanButton ). 属性 Name 属性:控件名称 建议以 Cmd 为名称前缀,并以 “ 见名知义 ” 为原则 Caption 属性:显示在按钮控件上的标题 访问键的设置: &+ 字符 访问键的效果:字符带有下划线 访问键的功能:运行时按下 “ ALT+ 字符 ” 组合键即可触发该按钮的 Click 事件

Download Presentation

第 5 章:常用控件

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第5章:常用控件

  2. 常用控件的学习目标 • 掌握常用控件的属性 • 属性名及其含义 • 掌握常用控件的方法 • 方法名称及其功能 • 掌握常用控件的事件 • 事件名称、事件触发的条件和时机 • 与控件相关的常见设计思想、算法 • 控件数组

  3. 控件——命令按钮(CommanButton) • 属性 • Name属性:控件名称 • 建议以Cmd为名称前缀,并以“见名知义”为原则 • Caption属性:显示在按钮控件上的标题 • 访问键的设置:&+字符 • 访问键的效果:字符带有下划线 • 访问键的功能:运行时按下“ALT+字符”组合键即可触发该按钮的Click事件 • Enabled属性:返回或设置控件是否响应用户操作 • Visible属性

  4. 控件——命令按钮(CommanButton) • 属性 • Style属性 • 设置按钮为标准按钮(0)或图形按钮(1) • BackColor属性 • 背景颜色(Style=1的前提下设置有效) • Picture属性 • 按钮的图片(Style=1的前提下设置有效,可以用来设计漂亮的图形按钮)

  5. 控件——命令按钮(CommanButton) • 事件 • Click事件 • 鼠标单击 • 获得焦点时,按Enter键 • 如果有访问键,Alt+访问键 • 实例 • 例5-1:根据需要对按钮可用性进行控制

  6. 控件——标签(Label) • 属性 • Caption属性 • 标签文本 • AutoSize属性 • 标签大小是否自动适应文字内容 • Alignment属性 • 文本对齐方式 • BackStyle属性 • 背景是否透明(1-不透明(默认值),0-透明) • 标签控件也可以响应Click、DblClick等事件,但习惯上,仅仅把标签作为文本显示的控件。

  7. 控件——文本框(TextBox) • 属性 • Text属性:文本框最重要的属性之一 • 读取或设置文本框中的文本 读取文本框的内容 s=txtname.text 设置文本框的内容 txtname.text=s • MaxLength属性 • 设置或返回文本框中可以输入的字符最大数(0~65535) • 可以用来设置用户输入的数据长度(如身份证号)

  8. 控件——文本框(TextBox) • 属性 • MultiLine属性 • 文本框是否接受多行文本 • true —可多行,False(默认值)—单行 • 演示属性设计和代码设计多行文本的实现 • ScrollBars属性 • 是否显示滚动条(无、水平、垂直、水平和垂直) • PasswordChar属性 • 设置文本框字符掩码 • 主要用于密码的输入 • 该属性只影响文本框的显示,而不影响Text属性,即不影响真实数据。 • Locked属性 • 锁定文本框(True—不可编辑,False—可编辑)

  9. 控件——文本框(TextBox) • 属性 • 文本编辑属性 • SelStart • SelLength • SelText 实例5-2 :在代码中选定文本

  10. 控件——文本框(TextBox) • 事件 • Change事件 • 文本框的Text属性值发生改变时触发 • 一般用于对文本内容的变化进行即时响应,或监控文本内容的变化 • 例5-3:根据文本框内容决定一个按钮可用性

  11. 控件——文本框(TextBox) • 事件 • KeyPress事件 • 文本框获得焦点并按下键盘上的按键后触发 • 参数KeyAscii:用户所按按键字符的ASCII码 • 一般用于对用户输入的文字内容进行监控,并对用户输入的内容进行有效性验证或格式处理(如禁止非法数据的输入或自动转换为大写字母等)或者对某些特殊按键作处理(比如回车键往往表示执行确定功能等) • 例5-4

  12. 综合实例5-5:带密码的简易文本编辑器 • 预备知识:剪贴板对象的基本操作 • 剪贴板对象:ClipBoard • SetText方法 • 格式:ClipBoard.SetText TextString • 功能:将字符串TextString放到剪贴板中 • GetText方法 • 格式:ClipBoard.GetText • 功能:获取剪贴板中的字符串内容 • 例:s=Clipboard.GetText • Clear方法 • 格式:ClipBoard.Clear • 功能:清除剪贴板中的内容

  13. 综合实例5-5:带密码的简易文本编辑器 • 功能分析 • 密码验证 • 如果密码=“1234567”,允许进入编辑器,否则提示重新输入密码 • 编辑器初始状态 • 复制、剪切、粘贴、删除按钮不可用 • 单击“全选”按钮时 • 选中文本框内容所有文字,并反相显示 • 复制、剪切、删除按钮变为可用 • 单击“复制”按钮时 • 将选中文字复制到剪贴板 • 粘贴按钮变为可用 • 单击“清除”按钮时 • 清空文本框所有文字 • 复制、剪切、删除按钮不可用

  14. 综合实例5-5:带密码的简易文本编辑器 • 功能分析 • 单击“剪切”按钮时 • 将选中文字复制到剪贴板 • 删除选中文字 • 粘贴按钮变为可用 • 剪切、删除、复制按钮变为不可用 • 单击“粘贴”按钮时 • 文本框中的选中文字替换为剪贴板中的文字(如果没有选中文字,则在光标位置插入) • 单击“删除”按钮时 • 清空用户选中的文字 • 复制、剪切、删除按钮不可用 • 用户在文本框中选择了文本时 • 复制、剪切、删除按钮可用

  15. 控件——复选框(CheckBox) • 属性 • Value属性 • 复选框的选中状态 • 0(缺省):未选 • 1:选中 • 2:灰色(半选中状态) • 运行时的状态转换

  16. 控件——复选框(CheckBox) • 事件 • Click事件 • 复选框在运行中一般有两种状态(0或1),在Click事件中,一般需要判断用户是选中还是清除,然后根据用户的操作进行不同的操作 • 典型的复选框Click事件代码 Private Sub Check1_Click() If Check1.Value = 1 Then '选中复选框后进行的操作代码 Else '清除复选框后进行的操作代码 End If End Sub

  17. 控件——复选框(CheckBox) • 事件 • Click事件 • 可以用常数Checked和UnChecked表示复选框Value属性的1和0 Private Sub Check1_Click() If Check1.Value = Checked Then '选中复选框后进行的操作代码 Else '清除复选框后进行的操作代码 End If End Sub • 复选框没有DblClick(双击)事件 • 实例:5-6

  18. 控件——单选按钮(OptionButton) • 属性 • Value属性 • 单选按钮的选中状态 • True:选中 • False(缺省):不选中 • 事件 • Click事件 • 运行时单击单选按钮只能表示选中,其Click事件过程中一般不需要选择结构

  19. 控件——框架(Frame) • 功能:作为控件容器对控件进行分组 • 分组的意义 • 使得界面功能布局清晰、易懂 • 对单选按钮进行分组(举例) • 属性 • Caption属性 • 将控件添加到框架的方法 • 先建立框架控件,然后在框架控件内拖画控件(举例) • 注意:如果将控件绘制在框架之外,然后将它移动到框架控件内部 ,并不能达到目的(举例) • 如果希望将已经存在的若干控件放在框架中,可以先选择控件,然后“剪切”,然后选定框架控件,“粘贴”(举例)

  20. 控件——框架(Frame) • 选择框架内的多个控件 • 不能直接使用鼠标拖曳的方法 • Ctrl+鼠标点击(或鼠标拖曳) • 综合实例 • 5-7:字体设置对话框

  21. 控件——列表框(ListBox) 属性 ListCount属性 列表框中列表项的数目 List属性 列表框中列表项(列表内容)数组,下标为0~listcount-1 经常和循环结合获取列表框中的所有项目(举例,输出所有项) For i=0 to list1.listcount-1 print list1.list(i) Next I 也可以通过修改数组元素的值改变列表项(举例) MultiSelect属性 是否允许在列表框中多选(举例) 0:只能单选 1:简单复选 2:扩展复选:ctrl、shift、拖曳

  22. 控件——列表框(ListBox) 属性 ListIndex属性 MultiSelect=0时 该属性表示所选列表项的索引号(举例) 根据listindex属性值可以获取用户的选择,-1表示没有进行选择 设置listindex=-1可以取消选择 MultiSelect=1或2时 该属性仅仅表示用户最近一次选择项的索引号,不一定表示选中(举例) 无法通过该属性值获取用户的选择情况 也无法设置listindex=-1取消用户的选择

  23. 控件——列表框(ListBox) 属性 Text属性 MultiSelect=0时 该属性表示所选列表项文本内容(举例) MultiSelect=1或2时 该属性仅仅表示用户最近一次选择项的文本内容,不一定表示选中(举例) 属性值总=列表框名.list(列表框名.listindex) Style属性 列表框类型(举例) 1:复选框样式,永远可以多选 0(缺省):标准样式

  24. 控件——列表框(ListBox) 属性 Selected属性 与List属性类似,是一个数组,元素值时逻辑型,表示对应列表项的选择情况(True=选中,False=未选中) 经常与循环结合获取允许复选的列表框的选中情况(举例,输出所有选中项) For i=0 to list1.listcount-1 if list1.selected(i) then ‘添加对选中项的操作代码 End if Next i

  25. 控件——列表框(ListBox) 属性 SelCount属性 选中的列表项的数目 Sorted属性 列表项是否排序 True:自动排序 False(缺省):不排序

  26. 控件——列表框(ListBox) 方法 AddItem方法 在列表框中添加列表项 格式 列表框名.additem 文本[,索引值] 文本:添加的列表项文本 索引值:所添加项目的索引(<=listcount),如果省略,则添加到末尾 举例 在末尾添加列表项的另一个方法 List1.list(list1.listcount)=列表项文本

  27. 控件——列表框(ListBox) 方法 RemoveItem方法 在列表框中移除列表项 格式 列表框名.removeitem 索引值 索引值:准备删除的项目的索引 举例 Clear方法 清楚清除所有列表项

  28. 控件——列表框(ListBox) 事件 Click事件 单击某一列表项或改变某一列表项的选择状态(举例,通过程序出发click事件) DblClick事件 鼠标双击某列表项 按照Windows习惯,双击=单击+确定按钮(以PPT设置字体格式为例) KeyPress事件 列表框获得焦点时键盘的击键 通过参数KeyAscii可以获知击键的ASCII码 实例: 5-8:列表项的添加和删除 5-9:列表项的移动

  29. 控件——组合框(Comobox) 组合:文本框+列表框 属性 Style属性 组合框类型(举例) 0:下拉组合框(可选、可输入) 1:简单组合框(可选、可输入) 2:下拉列表框(可选、不可输入) Text属性 组合框中的文本内容

  30. 控件——组合框(Comobox) 属性 List属性:和列表框的list属性相同 方法 Additem Removeitem Clear

  31. 控件——组合框(Comobox) 事件 Click事件 利用鼠标选择列表项时触发Click事件 DblClick事件 KeyPress事件 组合框获得焦点时按下键盘按键时触发(类似文本框的KeyPress事件) 可以通过参数KeyAscii获得用户所按按键信息 Change事件 组合框文本内容改变时触发(类似文本框的Change事件) 注意:用户通过鼠标从列表项中选择不触发change事件,而是Click事件

  32. 控件——组合框(Comobox) 实例:字体设置对话框(5-10) 预备知识 系统字体的获取 For i = 0 To Screen.FontCount - 1 Print Screen.Fonts(i) Next I

  33. 控件——组合框(Comobox) 实例:字体设置对话框(5-10) 预备知识 颜色函数QbColor 格式:Qbcolor(p) 说明:p是介于0~15 之间的一个整数,分别代表常见的16种颜色

  34. 控件——滚动条(ScrollBar) • 分为水平滚动条和垂直滚动条 • 属性 • Value属性 • 滚动滑块所在位置 • Max和Min属性 • Value属性的最大值和最小值 • LargeChange和SmallChange

  35. 控件——滚动条(ScrollBar) • 事件 • Change事件 • Value属性值发生改变时触发 • Scroll事件 • 拖动滚动块时触发 • 注意拖动滚动块时Value属性值发生了改变,但是不触发Change事件,当放开滚动块的一刹那才触发change事件(举例) • 通常在scroll事件中调用change事件(举例)

  36. 控件——滚动条(ScrollBar) • 实例 • 5-11:字体大小设置 • 5-12:文字颜色配置 • 准备知识:颜色函数RGB • 格式:RGB(RedValue,GreenValue,BlueValue) • 说明 • RedValue,GreenValue,BlueValue的取值范围都是0~255 • 返回值是一个long类型的数值,代表一种颜色值

  37. 控件——定时器(Timer) • 属性 • Interval属性 • 时间间隔(单位:毫秒,0~65535) • Enabled属性 • 定时器是否可用 • 停止定时器的两种方法 • Enabled属性设置为false • Interval属性设置为0

  38. 控件——定时器(Timer) • 事件 • Timer事件 • 时间间隔interval到来时的工作代码 • 实例 • 5-13:电子时钟 • 5-14:倒计时闹钟程序 • 5-15:字幕程序

  39. 控件数组 • 控件数组的优点 • 可以通过数组对多个控件进行操作 • 实例5-16和实验9-4比较 • 控件数组 • 一组相同类型的控件,具有相同的名字和不同的index属性(特殊的数组) • 创建方法 • 已经存在的控件组成数组(演示) • 通过复制粘贴的方法(演示)

  40. 控件数组 • 控件数组 • 控件数组具有相同的名字和共同的事件,必须通过index属性进行区分 • 示例:“最大化”、“还原”按钮控件数组 • 控件数组事件的代码往往是一个Select…Case结构 • 程序运行过程中创建控件数组的方法 • 设计阶段准备一个控件,设置index=0(母本) • 利用load语句加载控件数组 • 设置新添加控件为可见 • 设置新添加控件的位置等其他属性 • 实例5-17:动态添加控件的方法 • 实例5-18:简易计算器 • 实例5-19:调色板程序

More Related