VB教程提高篇文档格式.docx

上传人:b****1 文档编号:4907137 上传时间:2023-05-04 格式:DOCX 页数:24 大小:27.30KB
下载 相关 举报
VB教程提高篇文档格式.docx_第1页
第1页 / 共24页
VB教程提高篇文档格式.docx_第2页
第2页 / 共24页
VB教程提高篇文档格式.docx_第3页
第3页 / 共24页
VB教程提高篇文档格式.docx_第4页
第4页 / 共24页
VB教程提高篇文档格式.docx_第5页
第5页 / 共24页
VB教程提高篇文档格式.docx_第6页
第6页 / 共24页
VB教程提高篇文档格式.docx_第7页
第7页 / 共24页
VB教程提高篇文档格式.docx_第8页
第8页 / 共24页
VB教程提高篇文档格式.docx_第9页
第9页 / 共24页
VB教程提高篇文档格式.docx_第10页
第10页 / 共24页
VB教程提高篇文档格式.docx_第11页
第11页 / 共24页
VB教程提高篇文档格式.docx_第12页
第12页 / 共24页
VB教程提高篇文档格式.docx_第13页
第13页 / 共24页
VB教程提高篇文档格式.docx_第14页
第14页 / 共24页
VB教程提高篇文档格式.docx_第15页
第15页 / 共24页
VB教程提高篇文档格式.docx_第16页
第16页 / 共24页
VB教程提高篇文档格式.docx_第17页
第17页 / 共24页
VB教程提高篇文档格式.docx_第18页
第18页 / 共24页
VB教程提高篇文档格式.docx_第19页
第19页 / 共24页
VB教程提高篇文档格式.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VB教程提高篇文档格式.docx

《VB教程提高篇文档格式.docx》由会员分享,可在线阅读,更多相关《VB教程提高篇文档格式.docx(24页珍藏版)》请在冰点文库上搜索。

VB教程提高篇文档格式.docx

  

  走马灯

  往窗体内拖放一个标签和一个定时器,标签上任写一段话,我们的"

走马灯"

就是让这一段话从左到右飘移,移出窗体右界后,还能从窗体左边出现。

图4-5走马灯

PrivateSubTimer1_Timer()

让标签右移,就是让它的水平坐标增大

Label1.Left=Label1.Left+100

如果水平坐标过了窗体右界4800,标签就移动最左端

IfLabel1.Left>

4800Then

Label1.Left=-2000

EndIf

4.3滚动条(HscrollBar、VscrollBar)

  滚动条有三个属性值得注意:

*Value属性:

滚动条的当前位置值,该值介于Max和Min属性值之间。

*max属性:

当滚动块移到滚动条最右端或最底端时,滚动条的VALUE时等于Max值。

*min属性:

当滚动块移到滚动条最左端或最顶端时,滚动条的VALUE时等于Min值。

  系统默认,min属性值为0,而max属性值为32767

调色器

图4-6调色器

PrivateSubHScroll1_Change()

 Picture1.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)

PrivateSubHScroll2_Change()

PrivateSubHScroll3_Change()

4.4单选框(OptionButton)和复选框(CheckBox)

  单选框用于提供一个可以打开或关闭的选项。

在使用时一般将几个单选框组成一组,在同一组中,用户只能选择其中一项。

在Frame控件、PictureBox或窗体这样的容器控件中绘制单选框,就可以把这些控件分组。

同一容器中的单选框为一个组,运行时,选择一个单选框后,同组中其它单选框就会自动取消选择。

  用于表示单选框或复选框选中状态的属性是Value。

  对于单选框而言,Value值为True表示选中该选项;

Value值为False表示未选择该选项。

  对于复选框而言,Value值为1表示选中该选项;

Value值为0表示未选择该选项;

Value值为2将使复选框处于灰色状态,常用这种状态表示不确定或部分选中状态。

图4-7置于两个容器中的单选框组

字体字形的修饰

图4-8字型、字号

PrivateSubCheck1_Click()

Text1.FontBold=True'

加粗

PrivateSubCheck2_Click()

Text1.FontItalic=True'

倾斜

PrivateSubCheck3_Click()

Text1.FontUnderline=True'

下划线

PrivateSubOption1_Click()

Text1.FontSize=10

PrivateSubOption2_Click()

Text1.FontSize=20

PrivateSubOption3_Click()

Text1.FontSize=30

4.5组合框(Combo)和列表框(List)

  组合框和列表框的作用相似,只是组合框控件将文本框和列表框的特性结合在一起,既可以在控件的文本框(编辑域)部分输入信息,也可以在控件的列表框部分选择一项。

另外,组合框可以将列表项折叠起来,使用时再通过下拉列表进行选择,所以使用组合框比使用列表框更节省界面空间。

  两者都共同具有一些重要属性:

*List属性:

返回或设置列表部分的项目,在运行时,列表的第一项为List(0),第二项为List

(1)......。

*ListIndex属性:

返回当前选中的列表项的索引,比如有5个列表项,若选择了第3项,则ListIndex的值为2,如果未选取任何一项,则ListIndex值为-1

*ListCount属性:

返回列表项目总个数。

两者都使用的一些方法有:

*AddItem方法:

向组合框或列表框中增加新的项目,使用格式为:

<

对象名>

.AddItem<

项目>

[,索引]

格式中<

索引>

表示要添加的位置。

*RemoveItem方法:

在组合框或列表框中移除指定项目,使用格式为

.RemoveItem<

字形、字体、字号

图4-9字形、字体、字号

IfCheck1.Value=1ThenLabel1.FontBold=TrueElseLabel1.FontBold=False

IfCheck2.Value=1ThenLabel1.FontItalic=TrueElseLabel1.FontItalic=False

IfCheck3.Value=1ThenLabel1.FontUnderline=TrueElseLabel1.FontUnderline=False

PrivateSubCombo1_click()

Label1.FontName=Combo1.Text

PrivateSubForm_Load()

Label1.Caption="

无边落木潇潇下,"

&

vbCrLf&

不尽长江滚滚来。

"

PrivateSubList1_Click()

Label1.FontSize=(List1.ListIndex+1)*10

第五章图形设计

你知道如何用计算机语言来绘制图形吗?

你想在窗体上画出双曲线、抛物线、正弦曲线吗?

你想利用了解屏幕保护程序是如何实现的吗?

那就让我们进入VB的坐标系统来了解一下VB绘图的基本知识吧。

图5-1图形设计样例

5.1VB系统中的坐标系

  VB中的窗体或是图片框、框架(Frame)都可称为容器控件,因为不论是窗体、还是图片框,其中都要放置其它控件,比如命令按钮、单选框。

如下图所示的窗体中,左边是框架控件,内含两个单选框;

右边是个图片框,内含2个直线和4个标签(Label)。

图5-2容器控件:

窗体、框架、图片框

  这些含在容器控件内的控件,如何来描述自己的位置呢?

其实,每个容器控件建立后,就会就其内部形成坐标系。

比如图片框控件,它的坐标系就是以图标框左上角这一点为原点的坐标系,如图5-3所示。

  

  图5-3图片框内部坐标系和窗体的坐标系

5.2自定义坐标系

  上面的坐标系,可以用来描述某个控件在容器中的位置,但却难以让我们使用解析几何的知识来绘绘制曲线。

为此,我们必须把系统默认的坐标系变为我们熟悉的直角坐标系。

VB中可以用Scale方法来实现。

  [对象名.]Scale(x1,y1)-(x2,y2)

  其中如果容器是窗体的话,其对象名可以省略。

(x1,y1)决定新坐标系中左上角的坐标值,(x2,y2)决定新坐标系中右下角的坐标值。

例如

  Scale(-5,5)-(5,-5)

  图5-4自定义坐标系

5.3图形绘制的基本方法

一、画点Pset(x,y)[,颜色]

  其中x,y为欲画点位置的坐标;

颜色是可选项,默认黑色;

可以用RGB函数或QBcolor函数来返回颜色值。

或者选用以下VB常量来表示颜色:

vbRed、vbYellow、vbWhite、vbBlack、vbGreen、vbBlue、vbCyan(青色)、vbMagenta(洋红色)

例:

Pset(3,1)------在(3,1)处画一黑点

Pset(2,5),vbYellow-----在(2,5)处画一黄点

在窗体中增加一个按钮,在按钮单击事件中增加下面语句,会有什么效果?

SubCommand1_click()

Scale(-5,5)-(5,-5)

pSet(0,0),vbred

endSub

上面的例子中,Command1的作用在于在新坐标系原点处产生一个红点,大家发现这一红点了没有?

得眼力很好才能发现这个1个象素大小的原点。

如何改变圆点的大小呢?

这就要借助DrawWidth这一属性。

将窗体的DrawWidth属性改为10,再看看上面的程序,原点就不难找了。

二、画线段Line(x1,y1)-(x2,y2)[,颜色]

在初等几何学中,我们就学过这样的定理两点决定一条直线,同样一条线段也可以通过提供(x1,y1)、(x2,y2)来决定。

同画点一样,线段的颜色是可选的。

  例如:

画一条过(0,-2)、(3,1)两点的线段。

  Scale(-5,5)-(5,-5)

  Line(0,-2)-(3,1)

图5-5画直线

三、清屏CLS

用来把屏幕上的点、线抹除。

坐标轴的显示和隐藏

  你能实现单击窗体出现当前坐标系的X轴和Y轴及原点,双击窗体则清屏吗?

试试看,请参考图5-6的程序效果图来实现你的程序。

  图5-6坐标轴的显示和隐藏

  _______________________________________________________

5.4曲线的绘制

一、正弦曲线

  想想看,怎么在窗体上产生这样的一条正弦曲线?

大家一定明白这样一个道理吧,线是点的集合。

实际上这条曲线是由1000个点构成的。

我们的程序实现这一曲线的原理,就是用循环语句把这1000个正弦点依次描绘出来。

循环语句:

forx=-5to5step0.01

即从坐标系左端-5处到右端+5处,每隔0.01,产生一个正弦点,把这一正弦点描出来。

图5-7画正弦曲线

PrivateSubCommand1_Click()

Scale(-5,5)-(5,-5)

Forx=-5to5step0.01

Y=sin(x)

Pset(x,y),vbBlue

Next

EndSub

同样的道理,我们可以绘制余弦曲线,双曲线等解析几何上的曲线。

抛物线的绘制

  在窗体上绘制y=2x2+x+1所确定的曲线,设x在-5到5之间

  图5-8画抛物线

  _____________________________________________________

  ______________________________________________________

二、用参数方程绘制曲线

有这样的参数方程:

(0≤t≤2π)

请试着在窗体上绘出它的函数图像。

分析:

根据方程可以确定x,y取值范围在-1到1之间,因此用Scale定义的坐标系为:

Scale(-1,1)-(1,-1)

以t为循环变量,t的初值和终值题目已给出了,选择适当的间隔,求出每一对x,y,将这么多个点显示出来就形成了这一星形曲线。

程序如下:

图5-9星形曲线

SubCommand3_click

Scale(-1,1)-(1,-1)

Fort=0To2*3.14159Step0.001

x=Sin(2*t)*Cos(t)

              y=Sin(2*t)*Sin(t)

               PSet(x,y),vbWhite

  Next

   这一节课我们介绍了VB的绘图系统,坐标系如何重设,如果置点,画线,以及利用曲线方程来绘制几何曲线。

下面几幅图是学生的作品,你们知道是如何实现的吗?

动动手,也许你能找到更好的图案,到时,别忘了和我们大家一起分享哟!

图5-10其它几何曲线

第六章键盘响应

大家玩过打字游戏吗?

这个可爱的游戏可以认识我们在键盘上按的键,并把我们按的键的内容显示出来,因为VB中拥有响应键盘的事件,可以轻松实现打字游戏的制作,你想试试吗?

6.1键盘响应事件

  VB中的键盘响应事件可以分成三种:

Key_Press、Key_Down、Key_Up。

  其中KeyPress是用于接受键盘中大小写字母、数字、空格等键,而Key_Down和Key_Up它们接受的键盘上所有键,除了字母、数字等常用键外,也接受功能键(F1、F2等)、控制键(CTRL、ALT)、光标移动键(←↑→↓)等所有在键盘上能找到的键。

  一般来说窗体(FORM)、命令按钮(COMMAND)、图片框(PICTURE)都拥有键盘响应事件。

下面我们先以窗体响应事件为例,分别介绍三种键盘响应事件。

6.2Key_Press事件

  前面说过,KeyPress是用于接受键盘中大小写字母、数字、空格等主要键,更准确的说,它接受的是ASCII表上所有的键值,这就意谓的有一些功能键,控制键不能通过它的识别。

图6-1AscII表

  以窗体为响应事件的对象为例:

  PrivateSubForm_KeyPress(KeyAsciiAsInteger)

  这里的KeyAscii就是指用户按的键,当然这个键限于字母键、数字键等表中能找到的键。

当用户按了字母"

A"

,字母A对应的ASCII值65就赋值给KeyAscii,由KeyAscii带入键盘响应的事件处理中。

  比如:

  PrivateSubForm_KeyPress(KeyAsciiAsInteger)

  PrintKeyAscii

  EndSub

  上面这个程序,就把用户按下键的ASCII值显示在窗体上。

       图6-2显示按键的ASCII值

  当然,我们借助CHR这个函数,把这些KeyAscii转为字母、数字。

一个打字游戏的制作

  在窗体上,增加一个标签Label1和一个定时器(Timer1),将Timer1的Interval属性设为1000毫秒。

增加如下代码,试试看。

你成功了吗?

你对这个程序感兴趣吗?

是否想过扩展它的功能,比如加入一个计分功能,或者随着游戏的进行,下落的速度会越来越快,或者说出现多个字母,让玩家疲于应赴,只要你能想到的,没有什么是实现不了的,不是吗?

6.3KeyUp事件和KeyDown事件

  这两个事件主要区别在于何时触发事件,一个是在键盘按下时触发事件,而另一个是在键盘抬起时触发事件。

  它们能区别并接受键盘上101个按键,因此,它们过程中的参数用KeyCode,而非KeyAscii。

  PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)

  键盘上每一个按键都有唯一对应一个KeyCode。

比如左移光标键对应的KeyCode值为0x25,而右移光标键为0x26。

为了帮助我们编程,VB定义了一系列的常数来代替这些键值。

比如:

常数

描述

vbKeyLeft

0x25

左移光标键

VbKeyUp

0x26

上移光标键

VbKeyRight

0x27

右移光标键

VbKeyDown

0x28

下移光标键

VbKeyReturn

0xD

ENTER键

VbKeyShift

0x10

SHIFT键

vbKeyControl

0x11

CTRL键

VbKeySpace

0x20

空格键

VbKeyA

65

A键

vbKey0

48

0键

vbKeyNumpad0

0x60

小键盘上的数字0键

vbKeyF1

0x70

F1键

  KeyDown和KeyUp能替代打字游戏的KeyPress事件吗?

为什么?

  这里的Shift值,指的是按键的同时是否按下了CTRL、ALT这两个控制键,比如我们常用的复制快捷键Ctrl+C,或回复消息时用的快捷键Alt+S,要侦测类似的组合键时,看Shift值了。

如果是Shift类组合键其Shift值为1;

如果是Ctrl类的组合键其Shift值为2;

如果是Ctrl类的组合键其Shift值为4;

当然如果用户如果同时按下Ctrl和Alt键,其Shift值则是两者相加为6

贪吃猪游戏

图6-3贪吃猪游戏

  什么是贪吃猪游戏,看看下面的游戏界面就知道了,开始时小猪的脸庞很小,移动键盘上光标移动键,就可以吃到包子,每吃一个包子,脸庞就增大1.2倍,一旦这只笨猪碰到窗体的四个边界,游戏就结束了。

在窗体上加入两个图片控件,Image1用于装入猪,Image2用于装入包子,在窗体的KeyDown事件中加入以下代码。

你看到游戏的效果了吗?

当然这个程序还存在很多不足,它没有交待游戏何时结束,没有计分,一切都等你来完善,还犹豫什么,开动你的脑筋,试着做出一个独一无二的贪吃猪来!

6.4KeyPreview属性

  大家在应用键盘响应事件,可能会遇到一个麻烦,如果窗体上没有命令按钮、图片框时,窗体可以接受到键盘的按键,一旦窗体上加入这些控件,窗体就不再接受来自键盘的命令了。

这是因为命令按钮和图片框本身都有键盘响应事件。

  PrivateSubCommand1_KeyPress(KeyAsciiAsInteger)

  PrivateSubPicture1_KeyUp(KeyCodeAsInteger,ShiftAsInteger)

  它们在接受键盘信息时,拥有优先权。

如果我们要把窗体接受键盘信息的位置摆在最前,就要把窗体的KeyPreview的属性定为True。

简单计算器的制作

  这个简单的计算器,就是利用小键盘上进行简单的四则运算的小程序,要实现它,可以在一个窗体中,装入一个标签LABEL1,然后在窗体的KeyDown事件中加入以下代码,就可以实现一个计算器的小程序。

我们把编程思路说明一下,这个窗体中只需要一个标签LABEL控件用于显示一排数字,窗体中表格区实际上是图像,起到的只是装饰性效果,用户输入时还是借助101键盘上的小键盘区来完成加减乘除的计算。

所以,所有的程序语句都写在Form_KeyDown事件中,侦测用户键入的键值,如果在96到105之间,则说明用户按的是数字键,此时应往LABEL的最后塞入用户键入的数字,这个数字即"

键值-96"

当用户按的是加减乘除这四个键后,首先要清除LABEL上的数字,以便用户输入加减或乘除后的第二个数。

当然,清除数字前需把第一个数记下来,也要记得当前的运算符是什么。

当用户按回车时,即展开运算,把第一个数和当前LABEL中的数进行加减乘除计算,结果显示到标签上。

  好了,看完这个程序,先回答一个问题:

为什么要把YSF和First_Num设为全程变量?

  你看出这个程序存在哪些不足的地方吗?

请写在下面。

  ____________________________________________________________________

  _____________

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2