您的位置:逆风者 VB 正文
原作者:www.upwinder.com 添加时间:2007-09-01 原文发表:2007-08-31 人气:1 来源:未知

有如图一这样一个应用程序,分别拖动红、绿、蓝三个滚动框来决定文本框的背景色,另外还有一个竖向滚动条,可以用来控制文本框的大小。


逆@风@者
图一

一、图像的着色问题:
自然界中千变万化的色彩,在电脑上可以用红绿蓝三种原色组合而成,这也正是图像处理软件中 RGB 模式的原理所在,如黑色是由皆为 0 的红绿蓝三种颜色组成,白色为皆为 255 的三原色合成,等等。

在 RGB 模式中,每种色彩最多有 255 种变化,也就是说,只要 R 、G 、B 三种色彩都在各自的 255 范围内,这种色彩就是有效的。

VB 中,也用 RGB 来作为色彩的描述,如文本框的背景色为白色,则表示为:Text1.Backcolor = RGB(255,255,255)。

二、VB 中对象的初值储存问题:
VB中,常常会对某个对象进行位置移动,或者动态改变对象的尺寸,一般情况下,都会在程序调入后先对原始数据进行一些存储,以便发生位移或改变大小后能恢复原样,而这一功能,是通过初值储存来完成的。

方法是,将原始数据,如坐标值、原始长宽高,等等,赋值给某个变量,最后通过变量的调用就能完成默认状态的恢复。

三、程序设计:
1、创建如图一的程序界面。
文本框的属性
Name:TxtContent  Text:None

三个表示色彩的标签:
红色标签,Name:LblRed  Caption:红色
绿色标签,Name:LblGreen  Caption:绿色
蓝色标签,Name:LblBlue  Caption:蓝色

三个表示色彩的横向滚动条:
Min:0  Max:255  SmallChange:1  LargeChange:5

显示“大小”字样的标签:
Name:LblSize  Caption:大小

对文本框大小进行控制的竖向滚动条:
Name:VsbSize  Min:0  Max:100  SmallChange:1  LargeChange:5

用于显示大小变化尺寸的标签:
Name:LblShow  Caption:None

2、双击红色滚动条,在弹出的程序代码窗口中输入:
Private Sub HsbRed_Change()
TxtContent.BackColor = RGB(HsbRed.Value, HsbGreen.Value, HsbBlue.Value)
End Sub

另外,就 HsbRed 的 Scroll 事件也输入上面的代码:

Private Sub HsbRed_Scroll()
TxtContent.BackColor = RGB(HsbRed.Value, HsbGreen.Value, HsbBlue.Value)
End Sub

3、同理所得,在绿色与蓝色滚动条中输入相应代码。这样,通过滚动条控制文本框背景色的目的达到了。

4、在“通用”选项中定义全局全量,用来储存文本框的原始尺寸:

Dim Iwidth As Integer
Dim Iheight As Integer

5、用来改变文本框尺寸的竖向滚动条:
Change 事件
Private Sub VsbSize_Change()
TxtContent.Width = Iwidth * (VsbSize.Value / 100)
TxtContent.Height = Iheight * (VsbSize.Value / 100)
LblShow.Caption = VsbSize.Value & "%"
End Sub

Scroll 事件
Private Sub VsbSize_Scroll()
TxtContent.Width = Iwidth * (VsbSize.Value / 100)
TxtContent.Height = Iheight * (VsbSize.Value / 100)
LblShow.Caption = VsbSize.Value & "%"
End Sub

6、调试:
按 F5 键进行调试,发现文本框的尺寸无法调整。这是因为,没有在初始状态
下将原文本框的宽度、高度赋值给变量。

在 Form 的 Load 事件中输入以下代码:

Private Sub Form_Load()
Iwidth = TxtContent.Width
Iheight = TxtContent.Height
LblShow.Caption = "100%"
End Sub

7、最后结果如图二:


图二

相关文章

Visual Basic通信程序设计
VB的显示/隐藏Start按钮
VB的API编程精粹
用Winsock实现点对点通信
一个封装了WinInet API函数的类(CWinInetC
VB VC混合编程疑难问题解
Visual Basic 2005中的My功能
用VB制作文件下载程序
在VB5.0中制作多媒体界面
VB中播放WAV文件
Visual Basic编程访问WMI对象
VB 神童教程第三章第二节——综合示例六
再谈VB程序的加密
如何交换鼠标按键
用VB开发即时战略游戏
Visual Basic CommandButton 控件
获得MouseLeave的方法
读写INI文件的四个函数
Visual Basic程序设计
人民币小写转大写

相关评论


本文章所属分类:首页 VB
 

  热门关键字: