用VB编写看图程序

Author: 云飞 Date: 2001年 7期

?牐犗嘈糯蠹叶加霉鼳CDSee之类的看图程序,有没有想过自己编写一个看图程序呢?用VB来实现这一想法是非常简便的。怎么样?Let's Go!
  #1    一、界面设计
  ?牐犘陆ㄒ桓龉こ蹋贔orm1上放置一个水平滚动条、一个垂直滚动条和一个图片框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属性分别设为“打开”和“退出”。
  #1    二、程序代码
  ?牐燨ption Explicit
  ?牐燩rivate Sub Command1_Click()
  ?牐燨n Error GoTo error
  ?牐牐Т蚩募拇砦蟠?理
  ?牐燙ommonDialog1.ShowOpen
  ?牐營f CommonDialog1.FileName<>“”
  ?牐燭hen
  ?牐營mage1.Picture=LoadPicture(CommonDialog1.FileName)
  ?牐牐?让选择的图片文件赋予Image1
  ?牐燰Scroll1.Value=0
  ?牐燞Scroll1.Value=0
  ?牐燙heck'比较图片与图片框的大小
  ?牐燛nd If
  ?牐燛rror:
  ?牐燛nd Sub
  ?牐燩rivate Sub Command2_Click()
  ?牐燛nd
  ?牐燛nd Sub
  ?牐燩rivate Sub Form_Resize()
  ?牐牐Ц谋浯疤宕笮∈保髡骺丶奈恢?
  ?牐燩icture1.Width=Form1.ScaleWidth-1500
  ?牐燩icture1.Top=0
  ?牐燩icture1.Height=Form1.ScaleHeight-HScroll1.Height
  ?牐燙ommand1.Left=Form1.Width-1250
  ?牐燙ommand2.Left=Form1.Width-1250
  ?牐燞Scroll1.Width=Picture1.Width
  ?牐燞Scroll1.Top=Picture1.Height
  ?牐燰Scroll1.Height=Picture1.Height
  ?牐燰Scroll1.Left=Picture1.Width
  ?牐燾heck
  ?牐燛nd Sub
  ?牐燩rivate Sub HScroll1_Change()
  ?牐營mage1.Left=-HScroll1.Value
  ?牐牐?水平滚动条发生变化时,使图像框向相反的方向移动
  ?牐燛nd Sub
  ?牐燩rivate Sub HScroll1_Scroll()
  ?牐營mage1.Left=-HScroll1.Value
  ?牐燛nd Sub
  ?牐燩rivate Sub VScroll1_Change()
  ?牐營mage1.Top=-VScroll1.Value
  ?牐牐Т怪惫龆醴⑸浠保雇枷窨蛳蛳喾吹姆较蛞贫?
  ?牐燛nd Sub
  ?牐燩rivate Sub VScroll1_Scroll()
  ?牐營mage1.Top=-VScroll1.Value
  ?牐燛nd Sub
  ?牐燬ub check()
  ?牐牐П冉贤计胪计虼笮〉淖映绦?
  ?牐營f Image1.Height<=Picture1.Height
  ?牐燭hen '当图片高度小于图片框高度
  ?牐燰Scroll1.Enabled=False
  ?牐牐?使垂直滚动条不响应鼠标事件
  ?牐營mage1.Top= (Picture1.Height-Image1.Height)/2  '使图片垂直居中
  ?牐燛lse'当图片高度大于图片框高度
  ?牐燰Scroll1.Enabled=True
  ?牐牐?使垂直滚动条响应鼠标事件
  ?牐營mage1.Top=0
  ?牐燰Scroll1.Max=Image1.Height-Picture1.Height  '设置滚动最大值
  ?牐燛nd If
  ?牐營f Image1.Width<=Picture1.Width
  ?牐燭hen '比较图片与图片框的宽度
  ?牐燞Scroll1.Enabled=False
  ?牐營mage1.Left=(Picture1.Width - Image1.Width)/2
  ?牐燛lse
  ?牐燞Scroll1.Enabled=True
  ?牐營mage1.Left=0
  ?牐燞Scroll1.Max=Image1.Width - Picture1.Width
  ?牐燛nd If
  ?牐燛nd Sub