微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题用VB编写看图程序
栏目软件世界
作者云飞
发布2001年7期
  相信大家都用过ACDSee之类的看图程序,有没有想过自己编写一个看图程序呢?用VB来实现这一想法是非常简便的。怎么样?Let's Go!
  一、界面设计
  新建一个工程,在Form1上放置一个水平滚动条、一个垂直滚动条和一个图片框Picture1。Picture1作为浏览图片的窗口,其大小固定。点击Picture1,再拖入一个图像框Image1(将Image1约束在Picture1中)。设置Image1的Stretch属性为False,使它能自动适应图片大小。点击“工程→部件”,选中Microoft Common Dialog Corntrol 6.0,工具箱中会出现对话框控件,拖入窗体,设置其Filter属性为“*.bmp|*.bmp|*.gif|*.gif|*.jpg|*.jpg|*.*|*.*”。最后,再加入两个命令按钮Command1和Command2,其Caption属性分别设为“打开”和“退出”。
  二、程序代码
  Option Explicit
  Private Sub Command1_Click()
  On Error GoTo error
  '打开文件的错误处理
  CommonDialog1.ShowOpen
  If CommonDialog1.FileName<>“”
  Then
  Image1.Picture=LoadPicture(CommonDialog1.FileName)
  '让选择的图片文件赋予Image1
  VScroll1.Value=0
  HScroll1.Value=0
  Check'比较图片与图片框的大小
  End If
  Error:
  End Sub
  Private Sub Command2_Click()
  End
  End Sub
  Private Sub Form_Resize()
  '改变窗体大小时,调整各控件的位置
  Picture1.Width=Form1.ScaleWidth-1500
  Picture1.Top=0
  Picture1.Height=Form1.ScaleHeight-HScroll1.Height
  Command1.Left=Form1.Width-1250
  Command2.Left=Form1.Width-1250
  HScroll1.Width=Picture1.Width
  HScroll1.Top=Picture1.Height
  VScroll1.Height=Picture1.Height
  VScroll1.Left=Picture1.Width
  check
  End Sub
  Private Sub HScroll1_Change()
  Image1.Left=-HScroll1.Value
  '水平滚动条发生变化时,使图像框向相反的方向移动
  End Sub
  Private Sub HScroll1_Scroll()
  Image1.Left=-HScroll1.Value
  End Sub
  Private Sub VScroll1_Change()
  Image1.Top=-VScroll1.Value
  '垂直滚动条发生变化时,使图像框向相反的方向移动
  End Sub
  Private Sub VScroll1_Scroll()
  Image1.Top=-VScroll1.Value
  End Sub
  Sub check()
  '比较图片与图片框大小的子程序
  If Image1.Height<=Picture1.Height
  Then '当图片高度小于图片框高度
  VScroll1.Enabled=False
  '使垂直滚动条不响应鼠标事件
  Image1.Top= (Picture1.Height-Image1.Height)/2 '使图片垂直居中
  Else'当图片高度大于图片框高度
  VScroll1.Enabled=True
  '使垂直滚动条响应鼠标事件
  Image1.Top=0
  VScroll1.Max=Image1.Height-Picture1.Height '设置滚动最大值
  End If
  If Image1.Width<=Picture1.Width
  Then '比较图片与图片框的宽度
  HScroll1.Enabled=False
  Image1.Left=(Picture1.Width - Image1.Width)/2
  Else
  HScroll1.Enabled=True
  Image1.Left=0
  HScroll1.Max=Image1.Width - Picture1.Width
  End If
  End Sub