您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> VB >> 辅导 >> 正文    
  VB教程:滚动条(ScrollBar) 【注册男护士专用博客】          

VB教程:滚动条(ScrollBar)

www.nanhushi.com     佚名   不详 

8、滚动条(ScrollBar)

作用:当应用程序或控件不能自动支持滚动时,用水平和垂直的滚动条控件,为它们提供这一功能。

滚动条控件有两类:水平滚动条HscrollBar、垂直滚动条VscrollBar

(1)常用属性

见教材P135表5-13。

经常用到的属性有:

value——当前滑动块的位置

在滚动条中,滚动块所处的位置可以代表一个输入值。value属性值即为体现滚动块在滚动条中位置的数值。对于水平滚动条,当滚动块处于最左边时,value取最小值Min;对于垂直波动条,当滚动块处于最顶端时,value取最小值Min。反之,则value值取最大值。在中间的各个位置,value值与位置是严格按照比例来设定的。

改变滚动条value属性的方法有四种;

  • 直接在属性窗口中设定value值;

  • 鼠标单击两端箭头键改变滚动条数值;

  • 可将滚动框沿滚动条拖动到任意位置;

  • 用鼠标单击滚动条中滚动块两侧的部分,使滚动块以翻页的速度移动。

value属性的缺省值为O到32,767,缺省情况下,value取0和32,767中的某个数值(包括0和32,767)。

max——滚动条最大值

min——滚动条最小值

滚动条的value属性有取值范围的限制,取值范围由max属性和min属性设置,一般情况,max代表value的最大值,min代表value的最小值。

如果希望滚动条显示的信息从较大数值向较小数值变化.可将Min设置成大于max的值。

largechange——最大变化量(单击滑动块)

smallchange——最小变化量(单击箭头)

(2)常用事件

Change事件和Scroll事件

单击滚动条的滚动箭头、滚动区域或滚动条的Value属性改变时、滚动条具有焦点时再按下PageUp、Pagedown键,都可以引发Change事件和Scroll事件。

两者的不同在于:单击滚动条的滚动箭头、滚动区域或拖动滚动块后,才能引发Change事件,而拖动滚动块时,就可引发Scroll事件。

(3)例子

例1见教材P136。

界面:

代码:

Private Sub Form_Load()

    HScroll1.Max = 50 '水平滚动条的最大值
    HScroll1.Min = 0 '水平滚动条的最小值
    HScroll1.SmallChange = 1 '单击水平滚动条的滚动箭头按钮而产生的变化值
    HScroll1.LargeChange = 10 '单击水平滚动区域而产生的变化值
    VScroll1.Max = 50 '垂直滚动条的最大值
    VScroll1.Min = 0 '垂直滚动条的最小值
    VScroll1.SmallChange = 1 '单击垂直滚动条的滚动箭头按钮而产生的变化值
    VScroll1.LargeChange = 5 '单击垂直滚动区域而产生的变化值

End Sub


Private Sub HScroll1_Change()

    Label2.Caption = HScroll1.Value

End Sub


Private Sub VScroll1_Change()

    Label1.Caption = VScroll1.Value

End Sub

[程序演示]        [程序下载]

在上例中,将Change事件改为Scroll事件,再试一试。

例2:在窗体的范围内跟踪鼠标的位置。见教材P137。

在窗体上放置一个图片框、一个水平和一个垂直滚动条。

界面:

代码:

Private Sub Form_Load()

HScroll1.Min = 0
VScroll1.Min = 0 '设置滚动条的最小值
HScroll1.Max = 100
VScroll1.Max = 100 '设置滚动条的最大值
VScroll1.Value = 50
HScroll1.Value = 50 '初始化滚动块的位置

End Sub


Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    If Y > Picture1.Top And Y < Picture1.Top + Picture1.Height Then
        VScroll1.Value = (Y - Picture1.Top) / (Picture1.Height) * 100 '跟踪垂直位置(按照比例来设定)          
    End If

    If X > Picture1.Left And Y < Picture1.Left + Picture1.Width Then
        HScroll1.Value = (X - Picture1.Left) / (Picture1.Width) * 100 '跟踪水平位置
    End If

End Sub


Private Sub HScroll1_Change()

    Label1.Caption = "X=" & HScroll1.Value

End Sub


Private Sub VScroll1_Change()

    Label2.Caption = "Y=" & VScroll1.Value

End Sub

[程序演示]        [程序下载]

例3:通过单击滚动块显示一年12个月。

界面:

代码:

Private Sub Command1_Click()

    Unload Form1

End Sub


Private Sub Form_Load()

    HScroll1.Value = Month(Now)
    HScroll1.Min = 1
    HScroll1.Max = 12

End Sub



Private Sub HScroll1_Change()

    Label4.Caption = HScroll1.Value

End Sub

[程序演示]        [程序下载]

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。