用VB编写看图程序
#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