- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VB屏幕保护程序设计
屏幕保护程序设计
屏幕保护程序简单功能实现
2.5.1 文字单向移动功能实现
本屏幕保护程序的主体功能是文字在屏幕左右移动,首先需要在屏幕上显示文字。对于Visual Basic程序而言,在屏幕上显示文字,实际上是显示在某个窗口上。显示文字可以采用两种方法:第一种方法是直接在窗口某个位置输出文字,这种方法需要调用某个函数或窗口对象的方法并指定坐标,如果改变其位置,则需要在新位置重新输出文字,并且将原来位置的文字擦除,这种文字输出在设计时看不到效果,只有运行程序时才能看到效果;第二种方法是采用某个对象显示文字,文字的移动仅仅需要改变该对象的位置即可,并且在设计时就能够看到效果。这里采用第二种方法显示文字,即采用前面介绍的标签对象显示文字。
创建一个新的Visual Basic工程,系统自动创建一个窗口对象Form1,并显示Form1的对象设计窗口。向窗口Form1上拖放一个标签对象,系统自动命名为Label1(最后一个字符为数字1,倒数第二个字符为小写字母l 。Visual Basic集成开发环境自动以数字后缀对新创建的控件对象命名,对下一个标签命名为Label2),选中该对象,定位到属性窗口,修改Label1对象的属性:
Caption :欢迎使用Visual Basic
Font:宋体,二号字
给Cpation赋值的内容实际是一个字符串,在属性窗口内赋值时不能在其前后加上双引号。如果在代码窗口内赋值则需要加上双引号。
调整Label1的长度和高度,使得文字正好显示在一行。
图2.4 标签Label1的设计效果
标签对象Label1在窗口Form1上的位置由其Left和Top属性确定,如果需要在水平方向移动,实际就是改变其Left属性。
先采用人工移动的方式,即运行时每用鼠标点击一次文字,文字向右移动一定的距离。运行时的鼠标点击变成了Windows系统的消息,并转换成Visual Basic中的事件,在哪个对象上点击,哪个对象就会接收到这个点击事件,Visual Basic自动调用特定的某个子程序。Visual Basic用Click表示鼠标点击事件(鼠标的一次点击,也称为单击事件),如果在Label1对象上单击,则Label1对象接收到这个单击事件,并自动调用子程序Label1_Click。
?为了编写子程序Label1_Click,需要进入代码窗口,方法有三个:
选择工程资源管理器窗口上方最左侧图标(View Code)
选择“View”菜单下“Code”子菜单
双击Form1的对象设计窗口
在代码窗口上方的两个组合框中,分别选择对象Label1和事件Click,则自动产生该子程序的框架。
由于Click事件是标签对象的默认事件,只要选择了Label1,就会自动产生该子程序框架。另外,如果在对象设计窗口中直接双击Label1对象,进入代码窗口后自动产生该子程序框架。
定位到子程序框架内部,输入代码如下:
Private Sub Label1_Click()
Label1.Left = Label1.Left + 100
End Sub
这句代码的含义是每次点击Label1对象,其Left属性在原有基础上增加100,实际效果就是向右移动100,单位就是前面介绍的Twip(1/1440英寸)。
选择“Run”菜单下的“Start”子菜单或直接点击工具栏上的小图标,运行该程序。图2.5即为运行开始以及单击文字几次以后的文字位置。
图2.5 标签Label1的运行效果
如果能够在某个特定的时间内自动执行上面这样的子程序,就可以实现文字的自动移动。Visual Basic提供的定时器对象可以实现这样的功能。
切换到对象设计窗口,有两种方法:
选择工程资源管理器窗口上方中间图标(View Object)
选择“View”菜单下“Object”子菜单
向窗口Form1上拖放一个定时器控件,自动命名为Timer1,修改其属性:
Interval:100
Enabled:True
双击Timer1对象,进入代码窗口并自动产生子程序框架Timer1_Timer,将Label1_Click子程序中的代码拷贝到子程序Timer1_Timer中。
Private Sub Timer1_Timer()
Label1.Left = Label1.Left + 100
End Sub
重新运行该程序,则文字会自动向右移动,如果需要改变文字移动的速度,可以改变Timer1对象的Interval,也可以修改上述代码中的移动量100。
对于上面的两个子程序,都是由系统在接收到相应事件后自动调用的,程序员自己编写的代码中并没有调用它们的地方。这样的事件处理子程序除了由系统自动调用外,也可以由程序员指定调用。例如,上述两个子程序的内容实际是一
文档评论(0)