如何让一个PICTURE控件,有个初始化大小
然后每次根据图片的大小调整控件的大小
等图片不显示了,
PICTURE.CLS时,控件又恢复为原来设置的大小呢?

解决方案 »

  1.   

    我的代码是这样的
    picture1.AutoRedraw = True
    picture1.AutoSize = True 
    picture1.Left = MyRs![zuo]    ’指图片的位置
    picture1.Top = MyRs![shang]
    gaisi = MyRs![beishu]   ’指图片的放大倍数
    picture1.Height = picture1.Height * gaisi
    picture1.Width = picture1.Width * gaisipicture1.PaintPicture pic.Picture, picture1.Width / 2 - pic.Width * gaisi / 2, picture1.Height / 2 - pic.Height * gaisi / 2, pic.Width * gaisi, pic.Height * gaisi, 0, 0, pic.Width, pic.Height, vbSrcCopy
    picture1.Visible = True还是那里的顺序应该对调一下呢?
      

  2.   

    Dim oldWidth As Long, oldHeight As LongPrivate Sub Form_Load()
        oldWidth = Picture1.Width
        oldHeight = Picture1.Height
    End SubPrivate Sub Command1_Click()
        With Picture1
        .Cls
        .Width = oldWidth
        .Height = oldHeight
        
       .AutoRedraw = True
        .AutoSize = True
        .Left = MyRs![zuo]    '指图片的位置
        .Top = MyRs![shang]
        gaisi = MyRs![beishu]   '指图片的放大倍数
        .Height = Picture1.Height * gaisi
        .Width = Picture1.Width * gaisi
        
        .PaintPicture pic.Picture, .Width / 2 - pic.Width * gaisi / 2, .Height / 2 - pic.Height * gaisi / 2, pic.Width * gaisi, pic.Height * gaisi, 0, 0, pic.Width, pic.Height, vbSrcCopy
        .Visible = True    End With
    End Sub
      

  3.   

    在加载图片之前,记录好PICTURE控件的大小,在CLS之后将PICTURE设为原来的大小就可以了
      

  4.   

    谢谢 faysky2() 
    可是还有个奇怪的现象就是我觉得PICTURE控件并没有完全按照图片的大小来缩放
    旁边总是还多出了个灰色的框
    框也会根据的图片的大小而相应的改变大小
      

  5.   

    picture控件并没有根据装载图片的大小而改变自己的大小
      

  6.   

    高手快来帮忙:)
    为什么PICTURE控件不随图片的大小而调整自己的大小呢?