设计6 专用输入窗口
文本框既是输入文本的地方,又是输出文本的地方。它输入输出的内容,即它的Text属性值,系统是当字符串处理的。
给文本框的PasswordChar属性设定一个字符值,如*,就能使输入的内容不照原样显示。利用这一点,文本框可以用作密码输入框。
关于文本框的话题以后还要继续。下面介绍专用输入窗口。
为了更好地理解,我们还是新建一个工程,在窗体上用一个用户输入命令按钮,一个接受输入的文本框Text1。
给用户输入的单击事件写这样的代码:
Text1.Text = InputBox(\输入提示\窗口标题\默认值\
运行时单击按钮,弹出的对话框如下图。
图9 专用输入窗口
请把InputBox( )函数小括号中的三项与对话框的对应关系看清楚。 默认值是估计用得最多的字符串,可以节省用户的操作时间。用户完全可以不用它,自己键入一个值,再按确定按钮提交。在这里,提交的内容被文本框接受。
顺便说一下,输入对话框默认的显示位置在屏幕中心线下约1/3处,这个也可以在InputBox( )函数中指定。窗口运行时可以移动嘛,就忽略它。
如果需要的是数值,原则上应该先用Val( )函数将输入的内容转换为数值,再参加算术运算。这些问题指出来,我们自己可以去验证。
16
?第四单元 时钟控制
设计7 图像自动展示
有两个图形控件,前面的那个是图片(Picture),后面的那个是图像(image)。图像控件功能单一些,用于显示指定的图像。我们先用它吧。
我们可以用画图工具自己制作10张图片(以第一张为基础,变个颜色就行),放在D:\\myvb\\tp10文件夹中,并让图片文件名为
0.bmp,1.bmp,2.bmp,??,9.bmp
我们打算用时钟控件来控制这组图像的自动展示,每隔3秒钟换一幅图像,效果如下图。
图10 图片展示
1、界面设计。
一个标签,标题为“看我画得好不好”,酌情修饰。 一个图像对象,名称为image1,设计时可以不要图像。 一个时钟对象,名称为Timer1,运行时不会显示。
17
2、属性设计。
将Timer1的间隔时间属性InterVar的值设为3000(毫秒)。 3、代码设计。
图11 图片展示代码
一是在通用过程中声明(全局)变量n; 二是在窗体载入过程中给n赋初值;
三是在时钟对象的Timer过程中给图像对象指定图像文件标识: Image1.Picture = LoadPicture(App.Path + \让n的值变化并对n值的越界进行归零处理:
n = n + 1 If n = 10 Then n = 0
这就为3秒钟后的下一次执行这个过程作好了准备。
本来以为把n转换为字符串后就可以和扩展名连接得到文件名了,可是系统总是提示找不到文件,原来是由n转换来的字符串还保留着符号位,所以再取它右边的1个字符。其余由老师解释吧。 小变通:
1、如果告诉你Enabled属性是反映对象能用与不能用(变灰)的,你能让自动展示停下来(不结束运行)吗?
2、你能设计一个命令按钮,当展示进行时是暂停,当展示暂停时继续吗?
18
设计8 设计自行的车
界面如图。运行时自行车自动从左到右移动,最后停在窗体右边。
图12 自行的车
设计步骤及要点如下:
1、准备一个文件夹,把自行车的图片文件放入其中。
2、新建VB工程,通过工具(菜单)→选项→通用页取消设计网格。标题改为“自行的车”,底色设置与图片底色溶合。
3、在窗体中用图像控件载入自行车图片,并将其Left属性值设为0,stretch属性值设为True(图片适应控件)。将窗体宽度设为:10000+图像控件宽度。
4、在车下面用线段工具画一条水平线(路),其粗细由BorderWidth属性调整。
5、用一个时钟控件,将其InterVal属性值设为100(毫秒),编写其Timer事件代码如下:
Image1.Left = Image1.Left + 100 ?每次前进100缇 If Image1.Left >= 10000 Then Timer1.Enabled = False
代码第二句是让自行车适时停下来,其中的帐这样算:车身长度-图像长度=10000,即车的左边距不超过10000时整个车身还在画面上。
还有个帐:每次前进100缇还没有跳跃感,每100毫秒(1/10秒)前进一次还没有间断感,10000缇÷100缇=100(次),走完全程需要10秒钟,给人的感觉不快也不慢。
练习:设计一个象电影片头字幕那样自下而上的滚动字幕。
19
设计9 左右滚动字幕
就是像密码锁上的数字那样在固定位置实现绕轴滚动似的效果。想象得到吗?
比如滚动的文字是“热烈庆祝中华人民共和国成立六十周年!”这可以用一个标签来承载。把标签的AutoSizi属性值设为True,好让标签大小适应文字。为了代码书写简洁,把标签的名称改为BQ得了,并请注意标签的Caption是默认属性,字符个数是18。
用一个时钟来控制滚动,时间间隔设为500(半秒)吧。所谓从右到左滚动,其实是把字符串左边的字符截下来接在右边组成新字符串。所以时钟的Timer事件代码如下:
BQ=Right(BQ,17)+Left(BQ,1)
运行一下看看。
字形和修饰有粗体FontBold、斜体FontItalic、下划线FontUnderline等,它们可以同时选择,用复选框来控制比较合适。
你可以用一个单选按钮和一个复选框来运行检验一下,单击两次时它们的反应是不一样的:复选框状态有反复的改变,而单选按钮不是。所以复选框的单击事件要使用控制语句。
复选框的Value属性值有1(被勾选)、0(不被勾选)和2(不可选)三个(单选按钮的Value属性值是真和假)。控制往往是(设复选框的名称为FX)
If Fx.Value=1 Then … Else … End If
这样的结构。
其它诸如控制字体、字号、字的颜色,滚动速度的设计,相反的滚动方向以及任意文本的滚动等,大家自行完成吧。
20
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VB详细讲义(4)在线全文阅读。
相关推荐: