一、基本要求
1.学习BackColor属性及设置颜色的方法
2.学习Hscroll控件及其常用属性设置
二、教学过程
本课有两个实例。
实例一:调色板程序
要求当用户单击PictureBox控件,就将PictureBox的BackColor属性赋给Form的BackColor属性,从而实现按照用户的选择来改变Form的背景色。
本例需要一个CommandButton控件和三个PictureBox控件
说明:Form1的Caption,MaxButton,StratUpPosition和Command1的Caption及程序代码按照需要自己完成设定关于颜色的设定:
了解色彩位数(又称色彩深度或色彩分辨率)的意义:它用来表示计算机的色彩分辨能力。红、绿、蓝三个颜色通道中每种颜色为n位二进制数,总的色彩位数为3n,可表示的颜色总数为2的3n次方。24位的色彩位数可得到总数为224,即16777216种颜色(即16M色)。色彩位数越多,意味着可表示的颜色细节数量也越多。为了方便,在计算机中常将二进制数转换为十六进制数来表示。
当我们新建一个VB工程后,就可以在Form的属性列表里找到BackColor属性。它的初始状态是:BackColor□&H8000000F&。
在BackColor属性里,H表示后面的数据是16进制数据,实际数据为8000000F,它可以分为四段,也就是8000000F。
第四段表示红色色值、第三段表示绿色色值、第二段表示蓝色色值。
第一段表示什么?如果是80,则为系统颜色;如果是00,则为自定义颜色
选中其中一个控件后,双击BackColor属性,调出如上图4.2所示的调色板。在最上面一层的颜色里选择一个自己比较喜欢的颜色,用鼠标单击该颜色,该控件的背景色就设置好了。
提供给用户选择的几种颜色。
先给三个PictureBox控件设好各自的BackColor属性,然后为它们设计程序代码如下:
PrivateSubPicture1_Click()
Form1.BackColor=Picture1.BackColor
EndSub
PrivateSubPicture2_Click()
Form1.BackColor=Picture2.BackColor
EndSub
PrivateSubPicture3_Click()
Form1.BackColor=Picture3.BackColor
EndSub
实例二:可以任意调配的调色盘
在原来程序上增加三个HscrollBar(横向滚动条)、三个Label和三个TextBox。三个HscrollBar分别表示红绿蓝三原色的数字量,用以调配出16兆种颜色来。每个HscrollBar的左边有一个Label控件对其进行说明,右边有一个TextBox可以显示当前HscrollBar的数据。
在BackColor属性里,H表示后面的数据是16进制数据,实际数据为8000000F,它可以分为四段,也就是8000000F。
第四段表示红色色值、第三段表示绿色色值、第二段表示蓝色色值。
第一段表示什么?如果是80,则为系统颜色;如果是00,则为自定义颜色
选中其中一个控件后,双击BackColor属性,调出如上图4.2所示的调色板。在最上面一层的颜色里选择一个自己比较喜欢的颜色,用鼠标单击该颜色,该控件的背景色就设置好了。
提供给用户选择的几种颜色。
先给三个PictureBox控件设好各自的BackColor属性,然后为它们设计程序代码如下:
PrivateSubPicture1_Click()
Form1.BackColor=Picture1.BackColor
EndSub
PrivateSubPicture2_Click()
Form1.BackColor=Picture2.BackColor
EndSub
PrivateSubPicture3_Click()
Form1.BackColor=Picture3.BackColor
EndSub
实例二:可以任意调配的调色盘
在原来程序上增加三个HscrollBar(横向滚动条)、三个Label和三个TextBox。三个HscrollBar分别表示红绿蓝三原色的数字量,用以调配出16兆种颜色来。每个HscrollBar的左边有一个Label控件对其进行说明,右边有一个TextBox可以显示当前HscrollBar的数据。
按照设置需要的属性值
控件名属性名新的属性值Form1Caption
MaxButton
StartUpPosition彩色世界
False
2-CenterLabel1Caption
AutoSizeRed
TrueLabel2Caption
AutoSizeGreen
TrueLabel3Caption
AutosizeBlue
TrueCommand1Caption不玩了三个HscrollBarMax
LargeChange
Value255
30
255&nb
sp;表4.1
增加的程序代码如下:
PrivateSubForm_Load()
r=HScroll1.Value
g=HScroll2.Value
b=HScroll3.Value
Form1.BackColor=RGB(r,g,b)
Text1.Text=r
Text2.Text=g
Text3.Text=b
EndSub
PrivateSubHScroll1_Change()
CallForm_Load
EndSub
PrivateSubHScroll2_Change()
CallForm_Load
EndSub
PrivateSubHScroll3_Change()
CallForm_Load
EndSub
问题:
HscrollBar的LargeChange的值有什么作用?试着改变一下,观察其变化
三、知识小结
㈠本课出现的对象
1.HscrollBar(横向滚动条)
可以方便地给使用者提供-32768~32767之间的整数数据,作为一种取代用户输入数据的工具。滚动条的主要属性有:
Value:通过Value决定滚动条中滑块的位置,反过来滑块的位置也决定Value的值。数值数据。
Min(最小值)属性:决定Value的最小值,即滑块移到滚动条的最左端或最上端时的Value值。数值数据,有效数据为-32768~32767。
Max(最大值)属性:决定Value的最大值,即滑块移到滚动条的最右端或最下端时的Value值。数值数据,有效数据为-32768~32767。
SmallChange属性:决定每单击一次滚动条端点的箭头时,Value属性(或滑块移动)增加或减少的量。数值数据,有效数据为1~32767。
LargeChange属性:决定每单击一次箭头与滑块之间的区域时,Value属性(或滑块移动)增加或减少的量。数值数据,有效数据为1~32767。
可以通过设置Max及Min属性来决定数据区间的最大值及最小值。通过Value属性获得当前HscrollBar的值。
Change事件是滚动条的主要事件。
2.TextBox(文本框)
在文本框里使用者可以在其中输入信息,所以常常被用做采集数据信息的场合。
文本框最重要的属性有Text属性,为字符数据。
Change事件是文本框最常用的事件。
㈡其它属性
BackColor对象的背景颜色。数值数据,在程序里常用RGB()函数为其赋值。
㈢其他知识点
1.Form_Load过程
程序开始运行时,窗体一加载就运行的程序段。常在这里写程序的初始状态设置命令。
上例在Form_Load过程中,先把三个Hscroll的Value数据存放在三个用r、g、b为名的变量里,然后用RGB()函数设置Form1的BackColor属性。接下来又把r、g、b变量里的数据送给TextBox的Text属性,显示在屏幕上。
2.设置颜色函数RGB(red、green、blue)
三个数据分别表示红、绿、蓝的值,其有效数据范围是0~255。
3.Call语句
调用其他过程的语句。
上例在三个Hscroll的Change事件过程中,使用了Call语句。每当我们用鼠标改变了某个HscrollBar的位置时,程序就Call(调用)Form_Load()程序段。这样一来,完全相同的过程就不用重复写了。
4.变量(进一步的学习见第九课知识小节)
变量是用来存放数据的,变量的名字由程序设计者指定。变量名必须以字母开头,然后可以有字母或数字,但VB系统使用的单词不能指定为变量名。
存放字符的变量叫字符变量,如:g="Goodmorning",g是字符变量。
存入数值的变量叫数值变量,如:x=34+5,x是数值变量。
四、课后练习
1.改变Picture1,Picture2,Picture3的程序,当点击其中之一时,HscrollBar的位置及TextBox中的数值随之作相应的改
2.如果在TextBox中输入数值,使HscrollBar及背景颜色随之改变,怎样编写程序。
3.设计一个"登记表"程序,用HscrollBar输入使用者的年龄,如图4.5所示。
程序要求:当拉动HscrollBar之后,其右边的TextBox(或Lable)可以显示年龄第四课彩色世界(2课时)这一教您现在访问的是中国学科吧旗下教案网http://www.jsfw8.com/jafs/