第8章 常用控件(2)
vfp第8章

(3)继承性
继承是一个有力的工具,例如父类中实现了某一个 特定功能,那么在它的子类中就自动获得该功能,这样 就免去了重新为子类编写同样代码的重复劳动。 子类可以继承并保持父类的所有特性和功能,但也 可以修改、重置甚至取消有父类继承来的某些特性和功 能,使父类的功能在子类中有所变异,也可以增加父类 所没有的特性和功能,子类的任何变化都不影响它的父 类。继承性体现了类层次中的“共享”机制。 例如,由基本类型的电话(拨号、讲话、听音功 能),可以派生出电话传真机、移动电话、公用投币电 话等,这些电话都继承了电话基本类型的拨号、讲话、 听音功能,又添加了各自的独特功能。
8.1 面向对象程序设计基本概念
8.1.1 基本概念
VFP支持面向对象程序设计(Object-Oriented Programming),面向对象程序设计所追求的目标是将 现实世界的问题求解尽可能简单化,采用符合人类处理问 题的思维方式。它用“对象”表现事物,用“事件”表示 处理事物的动作,用“方法”表现处理事物的过程,用 “消息”传递对象与对象之间的相互联系。 面向对象程序设计方法不同于传统的结构化程序设计, 采用事件驱动编程机制。在事件驱动编程中,程序员只要 编写响应用户动作的程序,如选择命令、移动鼠标等,而 不必考虑按精确次序执行的每个步骤。在这种机制下,不 必编写一个大型的程序,而是建立一个由若干微小程序组 成的应用程序,这些微小程序可以由用户启动的事件来激 发。
8.1网页中的控件类型

第 8 章 网页标准控件控件是一种类,绝大多数控件都具有可视的界面,能够在程序运行中显示出其外观。
利 用控件进行可视化设计既直观又方便,可以实现“所见即所得”(What You See Is What You Get, 简称为 WYSIWYG)的效果。
程序设计的主要内容是选择和设置控件以及对控件的事件 编写处理代码。
本章将介绍网页中最常用的几个标准网页控件。
目的在于学会这些常用控件的使用方 法。
其他控件在后续的章节中介绍。
8.1 网页中的控件类型 的类库中包括大量的控件,根据功能可以将它们分成以下几种类型。
标准控件:这些控件属于服务器控件。
除窗体页中常用的按钮、文本框等控件以外,还 有一些特殊用途的控件,例如,显示日历的控件等。
网页标准控件与 HTML 元素标记之间 不存在一对一的对应关系。
验证控件:用于检验用户的输入。
例如,验证是否缺少必须填入的字段;输入的数据格 式是否符合要求;输入的数据是否在指定的范围内等。
用户控件及自定义控件: 这些控件都是由程序设计者自行定义的控件, 是对系统控件的 扩展。
用户控件可以在项目内不同网页中重复使用,从而提高了程序设计的效率,同时还能 使各网页的显示风格一致。
HTML 控件:默认情况下它属于客户端(浏览器端)控件,但也可以将其转换成服务器端 控件。
每个控件对应于一个 HTML 元素的标记。
数据源控件 这类控件可以针对各种数据源实现数据绑定功能, 这包括微软的 SQL Server 和 Access, 以及其他关系型数据库、XML 文件和代码中实现的类。
数据视图控件 这类控件呈现为各种列表和表格,它们可以绑定到数据源以显示和编辑数据。
个性化控件 这类控件允许用户个性化地展示自己的站点, 包括重新调整网页本身等。
用户信息会被 自动地、透明地保存,并从一个会话持续到下一个会话。
登录控件和安全控件 这类控件实现站点中的普通登录功能,并维护用户的密码。
第8章 常用控件和系统对象

目录 8.1浙江8.2科技8.学3 院8教.4信系Sc计ree算n 机C基lip础bo教ar学d 网作站业:
8.2 滚动条 (ScrollBar)
1 用途
滚动条控件(ScrollBar)分为水平滚动条(HScrollbar) 和垂直滚动条(VscrollBar)二种,通常附在窗体上协助观 察数据或确定位置,也可用作数据输入工具,用来提供某一 范围内的数值供用户选择。
List: 字符型数组,存放列表框的项目数据,下标是从0开 始的。
例如: List(0)表示第一项(Listindex=0)的内容 列表框项目可在设计模式下一项一项输入。 ListIndex:为整型值,选中的项目的序号,如果列表框可 多选,则为最后一次选中项目的序号, 没有项目选中时为-1。 ListCount:为整型值,表示项目的数量,ListCount-1是最 后一项的下标。
例如:在窗体上放置2个列表框,将其Style属性分别设置为 0和1;放置3个组合框,将它们Style属性分别设置为0、1和2。
目录 8.1浙江8.2科技8.学3 院8教.4信系Sc计ree算n 机C基lip础bo教ar学d 网作站业:
8.3 列表框与组合框
2.List、ListCount和ListIndex属性
目录 8.1浙江8.2科技8.学3 院8教.4信系Sc计ree算n 机C基lip础bo教ar学d 网作站业:
8.3 列表框与组合框
二、主要属性
1.Style属性
该值用来指示控件的显示类型和行为。在运行时是只读的。 对于列表框控件或组合框控件都有Style属性,但它们的含义 是不同的,见表8.5和表8.6。Pg194
(4) SmallChange 最小变动值, 单击箭头时移动的增量值。
第8章 常用控件(1)

单选钮(OptionButton)通常成组出现, 主要用于处理“多选一”的问题。
用户在一组单选钮中必须选择一项,并且 最多只能选择一项。 当某一项被选定后,其左边的圆圈中出现 一个黑点。
结束
单选按钮常用属性: (1)Value属性 该属性表示单选按钮选中或不被选中的状态。 True:为选中;False:为不被选中。 (2)Caption属性 该属性显示出现在单选钮旁边的文本 (3)Style属性 该属性用来设置控件的外观。值为0时,控件显 示标准样式;值为1时,控件外观类似命令按钮。 (4)Alignment属性: 设置单选按钮标题的对齐方式。0:左对齐,圆 形按钮位于控件的左边,文字显示在右边;1: 右对齐,圆形按钮位于控件的右边,文字显示在 左边。 结束
结束
(2)RemoveItem方法 用于删除列表框中的列表项,其语法是: Listname.RemoveItem index 其中,Listname表示列表框控件的名称, index参数是要删除的列表项的索引号。需 要注意的是,与AddItem方法不同,index参 数是必须提供的。 例如: List1.RemoveItem 0 删除List1列表框中的第一个列表项
该属性是一个逻辑数组,其元素对应列表框
中相应的项。表示相应的项在程序运行期间
是否被选中。
例如:
Selected(0)的值为True,表示第一项
被选中,若为False,则表示未被选中。
结束
(6)MultiSelect(多选择列表项)属性 该属性值表明是否能够在列表框控件中进行复 选以及如何进行复选。 它决定用户是否可以在控件中做多重选择,它 必须在设计时设置,运行时只能读取该属性。 (7)SelCount属性 其值表示在列表框控件中所选列表项的数目, 只有在MultiSelect属性值设置为1(Simple)或 2(Extended)时起作用, 通常与Selected数组一起使用,用于处理控件 中的所选项目。
第8章C++Windows控件的使用

8.9 进度条
(3)int SetPos( int nPos ); 用途:设置进度条的当前位置。 (4)int GetPos( ); 用途:获取进度条的当前位置。 (5)int SetStep( int nStep ); 用途:设置步长值。 (6)int StepIt( ); 用途:使进度增加一个步长,步长值是由 SetStep函数设置的,默认的步长值是10。
8.6 滚动条控件
滚动条控件主要用来从某一预定义值范围内快速 有效地进行选择。滚动条分水平滚动条和垂直滚 动条两种。 滚动条由两端的箭头、中间的滚动框和滚动框中 的滚动块构成,它用滚动块的位置来表示当前的 值。用鼠标单击滚动条,可以使滚动块移动一页 或一行,也可以直接拖动滚动块。滚动条既可以 作为一个独立控件存在,也可以作为窗口、列表 框和组合框的一部分而存在。
第8章 Windows控件的使用
本章要点: 按钮类控件的使用。 编辑框、列表框和组合框的使用。 微调控件、滑动控件和滚动控件的使用。
8.1 标准控件介绍
根据控件的特性和功能,一般可将其分为三类: Windows标准控件、ActiveX控件和MFC新增扩展 控件。 在Visual C++中已经提供的标准控件有静态文本 Visual C++ 控件(CStatic)、按钮类控件(CButton)、列 表框控件(CListBox)、组合框控件 (CComboBox)、编辑框控件(CEdit)、微调 控件(CSpinButtonCtrl)、滚动条控件 (CScrollBar)和滑动条控件(CSlideCtrl)。
8.9 进度条
进度条控件主要用来进行数据读写、文件拷贝和磁盘格式 化等操作时的工作进度提示情况,如安装程序等,伴随工 作进度的进展,进度条的矩形区域从左到右利用当前活动 窗口标题条的颜色来不断填充。 MFC类库中的CProgressCtrl类封装了进度条控件,其主 要成员函数有: (1)void SetRange( short nLower, short nUpper ); 用途:设置进度条的范围。 (2)void GetRange( int& nLower, int& nUpper ); 用途:获取进度条的范围。
第8章 Windows窗体

8.6 单选按钮和复选框
单选按钮和复选框就是RadioButton和CheckBox控件,实际上RadioButton 和CheckBox控件与按钮控件有相同的基类,只是它们的外观和用法大不相同。 传统上,单选按钮显示为一个标签,左边是一个圆点,该点可以是选中或未选 中分在要给用户提供几个互斥选项时,就可以使用单选按钮。例如,询问用户的 性别。 把单选按钮组合在一起,给它们创建一个逻辑单元,此时必须使用GroupBox 控件。首先在窗林上拖放一个该组框,再把需要的RadioButton按钮放在组框的 边界之内,RadioButton就会知道如何改变自己的状态,以反映组框中惟一被选 中的选项。如果不把它们放在组框中,则在任意时刻,窗体不会只有一个 RadioButton被选中。 传统上,CheckBox显示为一个标签,左边是一个带有标记的小方框。在希望 用户可以选择一个或多个选项时,就应使用复选框。例如询问用户要使用的操作 系统(如Windows 2000,Windows XP, Linux等)
8.1 Windows窗体简介
删除窗体的方法非常简单,只需要在要删除的窗体名称上单击鼠标右键, 再弹出的快捷菜单中选择“删除”命令,即可将窗体删除,如图8-9所示。
8.1 Windows窗体简介
8.1.3 设置启动窗体属性 一个完整的Windows应用程序是由多个窗体组成的,比如一个图书管理系统,就 有登录窗口、主窗口、查询窗口等多个窗口。多个窗口的建立是向项目中添加多个窗 体,具体添加方法可以参照在8.1.2窗体的创建与删除。 当向项目中添加了多个窗体以后,如果要调试运行程序,必须要设置先运行的窗 体。这样就需要设置项目的第一个启动窗体。项目的启动窗体时在Program.cs文件中 设置,在Program.cs文件中改变Run方法的参数,即可实现设置启动窗体。 Program.cs中主要的代码片断如下: [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); }
ABAP培训第八章SMARTFORM【91ABAP SAP实战中心】

SMART FORMS
12
SAP培训: SAP知道:
SMART FORMS的调用
data fm_name type rs38l_fnam. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING FORMNAME = '<form name>' IMPORTING FM_NAME = fm_name EXCEPTIONS NO_FORM =1 NO_FUNCTION_MODULE = 2 OTHERS = 3.
IF SY-SUBRC <> 0. <error handling> ENDIF.
13
SAP培训: SAP知道:
系统参数
日期:&SFSY-DATE&
时间:&SFSY-TIME& 当前页码:&SFSY-PAGE&
总页码:&SFSY-FORMPAGES&
15
SAP培训: SAP知道:
SMART FORMS练习二
练习:将ZBCRP_XXX_005的数据通过 SMARTFORM 输出.
要求:使用表格技术和强制分页技术。
16
SAP培训: SAP知道:
第八章 SMARTFORM
一、基本概念 二、SMARTFORM常用控件 三、相关控件的练习
1
SAP培训: SAP知道:
SMART FORMript的基础之上产生的一种新的 FORM制作方式,这个图形界面由三个部分组成,它们分别 是:Form Painter、PC Editer、Table Painter。
VB习题解答

作用:在对象上输出信息 对象:窗体、图形框或打印机(Printer) ,省略对象在窗体上输出。 Spc(n)函数:插入n个空格,允许重复使用。 Tab(n)函数:左端开始右移动n列,允许重复使用。 ;(分号):光标定位上一个显示的字符后。 ,(逗号):光标定位在下一个打印区的开始位置处。 无 ;,时换行。 开始打印的位置是由对象的CurrentX和CurrentX属性决定, 缺省为打印对象的左上角0,0。 注意:Print方法在Form _Load事件过程中起作用,必须设置窗体的 AutoRedraw为True。
3.常用方法
[对象.]SetFocus:是把光标移到指定的文本框对象中。
4.文本框的应用 数据过滤
例2.7 要求输入合法的数字数据。当输入结束时(按Tab键),对于 输入正确的数据,显示正确信息;对输入的非数字数据,则响铃 (Beep)、显示错误信息、清除文本框中的内容,并使焦点重新回到文 本框。 • Text2_ LostFocus 当输入结束按Tab键时,该事件激发。 • IsNumeric(Text2):判断是否输入非数字数据。 • Text2.SetFocus:使焦点重新回到文本框。
例2.3
控件设置
默认控件名 标题 有关属性设置 Name Caption 颜色、对齐、 Form1 MousePointer=99,MouseIcon=Key04.ico 鼠标属性例 左对齐 Alignment=0, BorderStyle =1 Label1 居中 Alignment=1,BorderStyle =1 Label2 自动 AutoSize=True, WordWarp=False, BorderStyle =1 Label3 背景白 BackColor= &H00FFFFFF&, BorderStyle =0 Label4 前景红 ForeColor= &H000000FF&, BorderStyle =0 Label5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
② MouseUp
鼠标的任一键被释放时触发该事件。
语法格式:
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
③ MouseMove:
鼠标被移动时触发该事件
语法格式:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
说明:
Button:指示用户按下或释放了哪个鼠标按钮
Shift:
指示“Shift”、“Ctrl”、“Alt”键的状态
信息
X、Y:指当前鼠标的位置
例:编写程序:单击左键、右键、Shift+左键、 Ctrl+左键分别显示不同的图片。 程序代码如下:
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Shift = 1 Then Image1.Picture = LoadPicture(App.Path + "\12.jpg") ElseIf Shift = 2 Then Image1.Picture = LoadPicture(App.Path + "\13.jpg") ElseIf Button = 1 Then Image1.Picture = LoadPicture(App.Path + "\14.jpg") ElseIf Button = 2 Then Image1.Picture = LoadPicture(App.Path + "\15.jpg") End If End Sub
和Time函数是两个不同的概念。
例2:建立一个电子时钟,每秒钟时间变化一次。 界面设计: 在窗体上添加一个定时器控件、一个标签, 并按表设置属性。
属性设置
对象 Timer1 属性 Interval Caption Label1 BorderStyle Font 设置 1000 空 1-Fixed single 二号、宋体
(3)Value属性 表示当前滚动条所代表的值,范围在Max 与Min之间。每当用户用鼠标单击滚动箭 头、单击滚动块与箭头之间的区域或沿 着滚动条拖拉滚动块的动作结束时,滚 动条的Value属性就发生变化。 (4)LargeChang属性 当用户单击滚动块和滚动箭头之间的区 域时,滚动条控件(HScrollBar 或 VScrollBar)的 Value 属性值的改变量, 默认值为1。
' 将标签背景色设置为红色
8.3
高级控件
在VB中的控件分为内部控件和外部控件 用户使用加载的方式来使用外部控件 外部控件的加载: 单击[工程]/[部件],选定所需的ActiveX 控件或可插入对象左边的复选框,单击“确 定”。
1. Slider (刻度滑块控件)
Slider控件包含滑块和可选择性刻度标记 的窗口,和滚动条类似,以一种可视方式向 用户提供刻度设置的功能。
8.4 鼠标事件和键盘事件
1.鼠标事件 除了单击(Click)和双击(DblClick)外, 基本的鼠标事件还有三个:MouseDown MouseUp MouseMove 工具箱中的大多数控件都能响应这三个事 件。
① MouseDown
鼠标的任一键被按下时触发该事件。
语法格式:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
8.2 计时器(时钟)
VB提供了一种叫计时器(Timer)的控件
计时器每隔一定的时间间隔就产生一次 Timer事件(可理解为报时),用户可以根 据这个特性设置时间间隔控制某些操作或 用于计时。 计时器控件在设计时显示为一个小的时钟 图标,而在运行时并不显示在屏幕上,通 常另设标签或文本框来显示时间。
例1:利用滚动条改变文本框 中所显示文本的字号大小。 界面设计: 在窗体上添加一个文本框,一个标签, 一个水平滚动条。 控件属性设置: Text1:text属性设置为“同学们好” Label1:Caption属性设置为空。 Hscroll1:Max属性为100,Min属性为5。
程序代码如下: Private Sub HScroll1_Change() Label1.Caption = HScroll1.Value Text1.FontSize= HScroll1.Value End Sub
②用户按下一个键时触发KeyDown事件
buddycontrol:设置合作者控件
buddyproperty:设置与合作者控件同步的属性
例: 使用Updown控件控制标签的文字大小 设置Updown与Text1合作,且与Text1的 Text属性同步。
程序代码如下: Private Sub UpDown1_Change() Text1.Text = UpDown1.Value Label1.FontSize = UpDown1.Value End Sub
程序代码如下:
Private Sub Timer1_Timer() Label1.Caption = Time '将Time函数返回的系统时间
显示在标签中
End Sub
执行结果如图示,每隔1秒钟显示一次时间。
例3:用计时器实现控制时间延迟。 要求:单击命令按钮会出现“Hello,World!”字样, 经过3秒钟后,标签背景色变成红色。 界面设计: 在窗体(Form1)上添加一个计时器、一个命令按钮、 一个标签控件
滚动条常用属性
(1)Max属性 滚动条所能表示的最大值。即当滚动块 处于底部或最右位置时, Value 属性的 最大设置值。取值范围为-32768~32767, 默认值为32767。 (2)Min属性 滚动条所能表示的最小值。即当滚动块 处于顶部或最左位置时,Value 属性的 最小设置值。取值范围为-32768~32767, 默认值为0。
(5)SmallChange属性 表示当用户单击滚动条两端的箭头时,Value 属性值的增加或减小的量,默认值为1。 滚动条常用事件 滚动条常用事件: Change事件和Scroll事件 当用户在滚动条内移动滚动块时发生Scroll 事件(当单击滚动箭头或滚动条时不发生该 事件)。 当用户改变滚动块的位置后发生Change事件 用Scroll事件来跟踪滚动条的动态变化 用Change事件来得到滚动条的最后结果
Visual basic
程序设计
第八章 常用控件(2)
第8章 常用控件(二)
8.1.4
滚动条
8.2
计时器
8.3
高级控件
8.4
鼠标事件和键盘事件
引言
本节主要介绍滚动条、定时
器等控件的属性,方法和事件, 以及键盘和鼠标和常用事件的应
用方法。
8.1.4 滚动条
滚动条通常用来附在窗体边上帮助观察数 据或确定位置,作为速度、数量的指示器 来使用,也可用来作为数据输入的工具。 滚动条分为水平滚动条(HscrollBar)和垂 直滚动条(VscrollBar)
单击[工程]/[部件]命令,选择“Microsoft Windows Common Control 6.0”部件,将该控 件添加到工具箱中。 “属性” 设置:max、min、smallchage、 maxchage、value。
例:
使用Slider控件控制标签的文字大小
程序代码如下: Private Sub Slider1_Click() Label1.FontSize = Slider1.Value End Sub
例:
使用Sstab控件更改标签的文字
4. Updown Updown控件是一种Windows应用程序中常见控件, 常常与其它控件“捆绑”使用。方便用户更改与之关 联的伙伴控件。
单击[工程]/[部件]命令,选择“Microsoft Windows Common Control-2 6.0”部件,将该控件添加到工具 箱中。 “属性” 设置:
2.键盘事件
键盘事件包括 KeyPress、KeyUp和KeyDown事件
①用户按下并且释放一个ANSI键时就会触发 KeyPress事件。
语法格式:
Sub Object_KeyPress(KeyAscii As Integer)
KeyAscii是一个整数,表示所按键的ASCII码值
若只需要知道是哪个键被按下了,使用较多的是ogressbar控件控制时间进度
Private Sub Timer1_Timer() If ProgressBar1.Value < ProgressBar1.Max Then ProgressBar1.Value = ProgressBar1.Value + 1 Else Label1.Caption = "完成!" End If End Sub
3. SSTab(多项选项卡控件) SSTab控件提供一个多项选项卡的对话框, 作为其它控件的容器。一次只能一个选项卡被 激活,该选项卡上的控件显示出来,其它选项 卡被隐藏起来。 单击[工程]/[部件]命令,选择“Microsoft Tabbed Dialog Control 6.0”部件,将该控件添 加到工具箱中。 在窗体中添加一个SStab控件,右击该控件 选择“属性”进行设置
计时器常用属性 计时器最常用的是Interval属性,该属性用来决定 两次调用计时器Timer事件的时间间隔,以毫秒为 单位, (1ms=1/1000 s) 计时器的取值范围为0~65535,缺省值为0(这时 计时器控件不起作用)。 若希望每秒钟产生一个Timer事件,那么Interval 属性值应设置为1000,这样每隔1000 ms就会触发 一次Timer事件,从而执行相应的Timer事件过程。 计时器常用事件 定时器只支持Timer事件。对于一个含有定时器控 件的窗体,每经过一段由属性Interval指定的时间 间隔,就产生一个Timer事件。