当前位置:编程学习 > VB >>

如何给vb控件picturebox加滚动条?

如何给vb控件picturebox加滚动条?
答案:用过picturebox控件的朋友都知道,在其中我们可以加载图片。当图片不是很大时,可能还不会有什么问题,但是,如果所加载的图片比picturebox大时,我们只能看到图片的一部分,那么,怎么才能看到其他的部分呢? 

  为了解决上述问题,我们可以在图片框(picturebox)内部加上水平和垂直滚动条,利用滚动条来显示看不到的图片。具体方法如下:

  首先给工程(project)添加一个ocx控件,单击选单上的工程(project)选单项,在弹出的下拉选单中点击组件(components),选中其中的“microsoft common dialog control 5.0”,确定完成加载工作;然后画一个picturebox,采用vb提供的默认名字picture1, 再在picture1上面画一个picturebox,默认名字为picture2,注意别忘了设置:picture2.autosize=true;接着,加上水平和垂直滚动条,默认名字分别为:hscroll1,vscroll1;以后加载图形到picture2上,就可以了;最后,在窗体中引入其它控件:一个按钮(command),默认名为command1和一个“microsoft common dialog control”,默认名为commondialog1。具体vb代码如下:

  private sub form—load()

  picture2.left = 0

  picture2.top = 0

  picture2.width = picture1.width

  picture2.height = picture1.height

  vscroll1.min = 0

  hscroll1.min = 0

  hscroll1.min = 0

  vscroll1.max = picture2.height - picture1.height

  hscroll1.max = picture2.width - picture1.width

  if hscroll1.max 〈 0 then hscroll1.enabled = false

  if vscroll1.max 〈 0 then vscroll1.enabled = false

  end sub

  private sub command—click()

  on error goto errexit

  commondialog1.filter = "bitmap file(*.bmp)|*.bmp|all file(*.*)|*.*"

  commondialog1.filterindex = 1

  commondialog1.showopen

  picture2.picture = loadpicture(commondialog1.filename)

  vscroll1.min = 0

  hscroll1.min = 0

  vscroll1.max = picture2.height - picture1.height

  hscroll1.max = picture2.width - picture1.width

  if hscroll1.max 〈 0 then hscroll1.enabled = false

  if vscroll1.max 〈 0 then vscroll1.enabled = false

  errexit:

  end sub

  private sub hscroll1—change()

  picture2.left = -hscroll1.value

  end sub

  private sub vscroll1—change()

  picture2.top = -vscroll1.value

  end sub

  该程序通过点击command1按钮,在弹出的对话框中选择一个图形文件加载到picture2中,利用水平和垂直滚动条就可以实现图片的滚动。

上一个:VB与BCB那一个程序更实用一些。
下一个:VB怎么处理鼠标滚轮的消息呢?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,