注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

王春玲 廊坊师范学院信息技术提高班十四期

公子扶苏 JIN YAN SHEN XING

 
 
 

日志

 
 

VB百例总结  

2017-02-08 20:00:10|  分类: IT |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
VB,可以说带我走进了一个我从未涉及的世界,里面有足够大的空间够我去想象去描绘,于是我怀着欣喜之心和它相识相知,时至今日,已经半年之久,中间的故事如各位所知——红红火火恍恍惚惚。

三个基本概念

事件
事件是指对象对于外部动作的响应,当对象发生了某个事件,就会执行与此对象的这个事件相应的代码,这段代码被称为“事件过程”。事件过程的命名格式为: Private Sub 控件名_事件名()
Eg:我们在窗体上按了一下鼠标左键,这样就发生了一个窗体的“Click”(即单击)事件,并执行与其对应的事件过程。这个的事件过程名称为: Form1_Click
面向对象和面向过程
举个例子,盖一座大楼,你想到的是楼怎么盖,哪里要有柱子,哪里要有梁,哪里楼梯等等(这就是面向对象),至于柱子该怎么建,用什么建,方的圆的,等等,这就是面向过程。
用面向对象的编程思想来看,类就是存储数据同时给一组相关代码赋予协调功能的方式。类是面向对象编程的核心。
VB最为人垢病的是它的面向对象特性。实际上VB是一种基于对象的开发工具。类是包含了方法、属性、数据成员的高级代码模块,它既在模块的范畴之内,又是一个没有图形界面的Active ocx,程序员可以象使用控件一样使用它,但却不能看到它,值得注意的是,类是不能继承的。
类能够使我们高效的完成对某一个或者某几个特定的对象的复杂操作,对象的动作就是类的方法,对象的属性就是类的属性过程。相对而言,如果编程的对象是一组事物,那么,我们采用标准模块的方式是非常合适的,在下列两种情况下,应该使用类进行代码处理:
  (1)创建大量性质相近的对象;
  (2)提高代码的封装性。

两个喜欢的例子

1.小恐龙
用途:制作动图
这个例子和小鸟、喷泉都是利用timer事件的interval属性实现图像快速、定时移动或变化以产生动画的效果。
Private Sub Timer1_Timer() 
 Static x As Integer      定义变量
 If x = 7 Then x = 1       如果x=7,那么x=1
 x = x + 1                    x不断增大加1
 img2.Move img2.Left + 100      图像框img2向右移动
 If img2.Left > Me.Width Then    如果img2大于窗体的宽度
  img2.Left = 0                  那么从左侧移动
 End If
Select Case x         将x作为测试表达式
 Case 1                  当x为1时
  img2.Picture = img1(0).Picture     将img(0)的图片赋给img2
 …………
2.字体屏保
用途:用于自由调节文字的屏保
这个例子是通过对话框控件属性的使用,使其在第一个窗体上设置字体屏保中文字的字体、字号、背景色以及字效。设置完成后,在第2个窗体上按照在第一个窗体中设计的样式,文字从左到右移动。
Form1:
Private Sub Command1_Click()
 cdl1.ShowFont          显示对话框
    Form2.Label1.Font = cdl1.FileName    窗体form2上标签框的字体是字体对话框中所选择的字体
    Form2.Label1.FontSize = cdl1.FontSize     文字的大小是字体对话框所选择的字号
End Sub
…………
Private Sub chk1_Click()     
  If chk1.Value = 1 Then      如果勾选复选框chk1
   Form2.Label1.FontBold = True      窗体form2上标签框中的文字加粗显示
  Else      如果没有勾选
   Form2.Label1.FontBold = False     标签框的文字不加粗显示
 End If
End Sub
…………
Form2:
Private Sub Form_Resize()
    Label1.Left = (Me.Width - Label1.Width) / 2       标签框水平居中
    Label1.Top = (Me.Height - Label1.Height) / 2      标签框垂直居中
End Sub

Private Sub Timer1_Timer()
    Label1.Left = Label1.Left + 60        标签框以60缇的距离从form2左侧往右侧移动
    If Label1.Left > Me.Width Then      若超过窗体的宽度
     Label1.Left = 0                             重新开始移动
 End If
End Sub
…………

  评论这张
 
阅读(59)| 评论(24)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017